前端代码,下面的电话,公司,为自定义字段。
js代码
jQuery(document).ready(function($) {
$('#commentform').on('submit', function(e) {
e.preventDefault();
var commentData = $(this).serialize(); // 获取评论表单数据
// 发送Ajax请求
$.ajax({
type: 'POST',
url: ajax_url, // 后端处理Ajax的URL,需要在wp_localize_script中定义
data: {
action: 'submit_custom_comment',
comment_data: commentData,
},
success: function(response) {
// 处理成功响应
console.log(response);
}
});
});
});
function.php代码
添加Ajax处理函数
// 添加Ajax处理函数
function submit_custom_comment() {
if (isset($_POST['comment_data'])) {
parse_str($_POST['comment_data'], $commentData); // 解析评论数据
// 构建评论数据数组
$comment_args = array(
'comment_post_ID' => $commentData['comment_post_ID'],
'comment_author_url' => $commentData['comment_author_url'],
'comment_author' => $commentData['comment_author'],
'comment_author_email' => $commentData['comment_author_email'],
'comment_content' => $commentData['comment'],
'comment_type' => 'comment',
'comment_meta' => array(
'phone' => $commentData['comment_author_phone'], // 将自定义字段添加到评论元数据中
'company' => $commentData['comment_author_company'], // 将自定义字段添加到评论元数据中
)
);
// 插入评论
$comment_id = wp_insert_comment($comment_args);
if ($comment_id) {
echo '提交成功';
} else {
echo '提交失败';
}
}
die(); // 必须终止脚本
}
add_action('wp_ajax_submit_custom_comment', 'submit_custom_comment'); // 钩子 - 处理登录用户的请求
add_action('wp_ajax_nopriv_submit_custom_comment', 'submit_custom_comment'); // 钩子 - 处理非登录用户的请求
添加后台评论处显示自定义字段代码
add_filter( 'manage_edit-comments_columns', 'my_comments_columns' );
add_action( 'manage_comments_custom_column', 'output_my_comments_columns', 10, 3 );
function my_comments_columns( $columns ){
$columns[ 'phone' ] = __( '电话' );
$columns[ 'company' ] = __( '公司' );
return $columns;
}
function output_my_comments_columns( $column_name, $comment_id ){
switch( $column_name ) {
case "phone" :
echo get_comment_meta( $comment_id, 'phone', true );
break;
case "company" :
echo get_comment_meta( $comment_id, 'company', true );
break;
}
}
相关文章
发表评论