这是我的密码
function ajax_layoutcontrol(){
if( !check_ajax_referer( \'special-string\',\'security\')){
return wp_send_json_error( \'Invalid nounce\');
}
if (! current_user_can(\'manage_options\')){
return wp_send_json_error(\'You are not allowed to do this\');
}
$orderwppl= $_POST[\'order\']; // This is an array[\'phone\', \'email\']
remove_shortcode( \'sideblock\' );
add_shortcode( \'sideblock\', \'new_order\' );
function new_order(){
foreach ($orderwppl as $item) {
get_template_part( \'content\', $item );
}
}
wp_send_json_success( \'Post Saved\');
die();
}
add_action( \'wp_ajax_save_listing_order\', \'ajax_layoutcontrol\');
我正在尝试更改短代码
function old_order(){
get_template_part( \'content\', \'email\' );
get_template_part( \'content\', \'phone\' );
}
add_shortcode(\'sideblock\', \'old_order\');
但这不起作用,因为ajax抛出500个错误请帮助
SO网友:rudtek
您的$\\u Post是否按预期返回数组?
据我所知,您的add\\u操作也没有调用正确的函数。。。
要么改变wpprolister_ajax_layoutcontrol
在该行中ajax_layoutcontrol
或者将函数重命名为wpprolister_ajax_layoutcontrol
另一种选择可能是在页面上放置一个selectbox元,并使用它调用正确的格式。那么就不需要使用POST数据了。
ie
function new_order() {
$template_check = get_post_meta( $post->ID, \'template_check\', true );
get_template_part( \'content\', $template_check );
}