我之后用ajax在页面上包含注释,所需的代码在插件中,但是当请求转到插件文件时,comment_template()函数不起作用,Ajax请求成功,但是没有注释。
转到Ajax的代码如下。
add_action('wp_ajax_nopriv_comment_update_get','comment_update_get');
add_action('wp_ajax_comment_update_get', 'comment_update_get');
function comment_update_get(){
global $withcomments;
$withcomments = 1;
$post = get_post($_POST['post_id']);
comments_template();
die();
}
答案 0 :(得分:0)
如果不在单个帖子或页面上,则不会显示评论模板, 或者如果帖子没有评论。
如果您查看source code,您会注意到comments_template()
功能会检查我们当前是在帖子或网页上,还是全球已设置strong> $post
对象。
所以:
function comment_update_get(){
// Set up our required global objects
global $post, $withcomments;
$withcomments = 1;
$post = get_post( $_POST['post_id'] );
// Load the comments template
comments_template();
// We're done here
wp_die();
}
add_action( 'wp_ajax_nopriv_comment_update_get','comment_update_get' );
add_action( 'wp_ajax_comment_update_get', 'comment_update_get' );