我正在编写一个插件,显示自定义主页,实际上only one post with comments. 第一次通过php的初始调用显示主页。然后,用户可以单击菜单按钮获取另一篇文章。这是由ajax处理的。因此,整个页面不会重新加载。
在我通过ajax“刷新”页面之前,通过ajax获取和显示其他帖子的效果很好。然后是评论reply
链接不再工作。
我实现了[AJAXified评论系统][1],但我想这与回复链接无关。
使用ajax之前的回复链接如下所示
<a onclick="return addComment.moveForm("div-comment-11", "11", "respond", "8")"
href="/?replytocom=11#respond" class="comment-reply-link">Reply</a>
当通过ajax加载相同的帖子时,回复按钮如下所示
<a onclick="return addComment.moveForm("div-comment-11", "11", "respond", "8")"
href="/wp-admin/admin-ajax.php?replytocom=11#respond" class="comment-reply-link">Reply</a>
区别在于
href
属性第二个(ajax)获得
wp-admin/admin-ajax.php
不应该存在的部分。
我使用一个php函数为第一次显示的帖子和ajax调用生成html。
部分函数如下所示
function my_get_comments($post_id, $number_of_comments){
//Gather comments for a specific post
$comments = get_comments(array(
\'number\' => $number_of_comments,
\'post_id\' => $post_id,
\'status\' => \'approve\' //Change this to the type of comments to be displayed
));
ob_start(); //workaround how to capture the output from comments_number() function
comments_number( \'no comments\', \'one comment\', \'% comments\' );
$capture_comments_number = ob_get_clean();
$return_string =\'<div id="comments_container">\'
. \'<style type="text/css">.hidden{display:none;}</style>\'
. \'<div id="comments_number">\'
. $capture_comments_number
. \'<a class="comment_switch"> Show / Hide Comments</a>\'
. \'</div>\'
. \'<div class="comments">\'
. \'<ol class="commentlist">\';
//Display / format the list of comments
ob_start(); //workaround how to capture the output from wp_list_comments() function
wp_list_comments(array(
\'reverse_top_level\' => false //Show the latest comments at the top of the list
), $comments);
$capture_wp_list_comments = ob_get_clean();
return $return_string;
}
ob_start(); //workaround how to capture the output from comment_form() function
comment_form("", $post_id);
$capture_comment_form = ob_get_clean();
$return_string = $return_string
. $capture_comment_form
. \'</div>\'
. \'</div>\';
我需要修复
href
部分回复链接?