wordpress评论ajax加载 示例代码

wangyetexiao

温馨提示:这篇文章已超过299天没有更新,请注意相关的内容是否还可用!

wordpress评论ajax加载 示例代码

WordPress评论ajax加载是一种通过使用ajax技术来实现无需刷新页面即可加载新评论的方法。通过ajax,可以在用户提交评论后,将评论数据发送到服务器并接收新评论数据,然后将新评论追加到页面上,从而实现实时加载评论的效果。

在WordPress主题的functions.php文件中,我们需要添加一个用于处理ajax请求的函数。这个函数将接收前端发送的评论数据,并将新评论插入到数据库中。示例代码如下:

function ajax_load_comments() {

$post_id = $_POST['post_id']; // 获取文章ID

$comment_author = $_POST['author']; // 获取评论作者

$comment_content = $_POST['content']; // 获取评论内容

// 创建新评论

$commentdata = array(

'comment_post_ID' => $post_id,

'comment_author' => $comment_author,

'comment_content' => $comment_content,

'comment_approved' => 1, // 评论自动审核通过

);

// 插入新评论到数据库

$comment_id = wp_insert_comment($commentdata);

// 获取新评论的HTML代码

$comment = get_comment($comment_id);

$comment_html = wp_list_comments('type=comment&callback=custom_comment_callback&echo=0', array($comment));

// 返回新评论的HTML代码

echo $comment_html;

die(); // 终止脚本执行

}

add_action('wp_ajax_nopriv_load_comments', 'ajax_load_comments');

add_action('wp_ajax_load_comments', 'ajax_load_comments');

然后,在主题的JavaScript文件中,我们需要编写一个用于发送ajax请求的函数,以及一个用于处理服务器返回的新评论数据的函数。示例代码如下:

function loadComments() {

var post_id = 123; // 文章ID

var author = 'John Doe'; // 评论作者

var content = 'This is a new comment.'; // 评论内容

// 发送ajax请求

jQuery.ajax({

url: ajaxurl, // WordPress提供的ajax接口URL

type: 'POST',

data: {

action: 'load_comments',

post_id: post_id,

author: author,

content: content

},

success: function(response) {

// 在页面上追加新评论

jQuery('#comments').append(response);

}

});

}

在需要加载新评论的地方调用loadComments函数即可实现ajax加载评论的效果。例如,在点击"提交评论"按钮后调用loadComments函数。这样,当用户提交评论后,新评论将通过ajax加载到页面上,无需刷新整个页面。

以上就是WordPress评论ajax加载的示例代码和解释。通过使用ajax技术,我们可以实现无需刷新页面即可加载新评论的功能,提升用户体验。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码