worpress Ajax留言—示例代码

phpmysqlchengxu

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

worpress Ajax留言—示例代码

WordPress Ajax留言是一种通过Ajax技术实现的无刷新留言功能。通过Ajax,用户可以在不刷新页面的情况下提交留言并实时显示在页面上。

我们需要在主题的functions.php文件中添加以下代码,来处理Ajax请求并保存留言:

// 添加Ajax处理函数

add_action( 'wp_ajax_submit_comment', 'submit_comment' );

add_action( 'wp_ajax_nopriv_submit_comment', 'submit_comment' );

function submit_comment() {

// 获取留言内容

$comment_content = $_POST['comment_content'];

// 创建新留言

$comment_data = array(

'comment_content' => $comment_content,

'comment_author' => get_current_user_id(),

'comment_approved' => 1

);

$comment_id = wp_insert_comment( $comment_data );

// 获取新留言的HTML

$comment_html = get_comment_markup( $comment_id );

// 返回新留言的HTML

echo $comment_html;

// 终止请求

wp_die();

}

接下来,在主题的JavaScript文件中,我们需要编写以下代码,来处理用户提交留言的操作:

jQuery(document).ready(function($) {

// 监听留言表单的提交事件

$('#comment_form').submit(function(e) {

e.preventDefault();

// 获取留言内容

var comment_content = $('#comment_content').val();

// 发送Ajax请求

$.ajax({

url: ajaxurl,

type: 'POST',

data: {

action: 'submit_comment',

comment_content: comment_content

},

success: function(response) {

// 在页面上实时显示新留言

$('#comment_list').prepend(response);

// 清空留言表单

$('#comment_content').val('');

}

});

});

});

在上述代码中,我们首先监听了留言表单的提交事件,并阻止了默认的表单提交行为。然后,我们获取了留言内容,并通过Ajax发送了一个POST请求到WordPress的Ajax处理函数`submit_comment`。在成功回调函数中,我们将服务器返回的新留言HTML插入到留言列表的最前面,并清空留言表单。

通过上述的代码示例,我们可以实现一个基于WordPress和Ajax的留言功能,用户可以在不刷新页面的情况下提交留言并实时显示在页面上。

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

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