^ 回到顶部
  • 人生没有定律,每个人都有自己的节奏
  • 本站wordpress建站教程均通过实践后发布,希望对你有帮助,如果有代码出错,请联系站长解决
  • 希望你的坚持,都是因为热爱,而不是因为不甘心
  • 8年wordpress建站经验,5星服务品质
  • 那些不愿意让你吃亏的人,才是真正值得你深交的人,也是值得你付出时间的人
  • 腾讯云3年2核2G新品轻量限时特惠只需408元

wordpress新增文章评论表单字段,如电话、QQ

WordPress 的强大已经到了只有你想不到,没有 wordpress 做不到的,wordpress 默认文章评论表单分别是昵称、邮箱、网址以及评论内容,这只能够满足一般博客网站的需求,如何增加更多的评论字段?我们可以使用 wordpress 评论自定义字段实现,有点像文章的自定义字段功能,对应数据库表就是 wp_commentmeta,和文章的 postmeta 数据表差不多。

说明:本教程不适合使用 comment_form()函数的 wordpress 主题,比如 xiu 主题。

2 核 2G 限时特惠 396 元/3 年    宝塔建站 10850 大礼包

操作步骤:

1、找到主题的 comments.php 文件并对其进行编辑,在输入邮箱的字段代码下面添加以下代码:

<p>
	<label for="tel">电话</label>
	<input type="text" name="tel" class="text" id="tel" value="<?php echo get_comment_meta($comment->comment_ID,'tel',true); ?>" tabindex="3"/>
</p>
<p>
	<label for="qq">QQ 号</label>
	<input type="text" name="qq" class="text" id="qq" value="<?php echo get_comment_meta($comment->comment_ID,'qq',true); ?>" tabindex="4"/>
</p>

2、在主题的 functions.php 文件的第一行<?php 下面添加代码:

add_action('wp_insert_comment','wp_insert_tel',10,2);
function wp_insert_tel($comment_ID,$commmentdata) {
    $tel = isset($_POST['tel'])  $_POST['tel'] : false;
	$qq = isset($_POST['qq'])  $_POST['qq'] : false;  
    update_comment_meta($comment_ID,'tel',$tel);//tel 是存储在数据库里的字段名字
	update_comment_meta($comment_ID,'qq',$qq);//qq 是存储在数据库里的字段名字
}

add_action()参数中的 10 和 2 分别表示该函数执行的优先级是 10(默认值,值越小优先级越高),该函数接受 2 个参数。

3、在后台——评论中的列表里显示添加的字段,接着第二步的代码继续添加以下代码:

add_filter( 'manage_edit-comments_columns', 'my_comments_columns' );
add_action( 'manage_comments_custom_column', 'output_my_comments_columns', 10, 2 );
function my_comments_columns( $columns ){
    $columns[ 'tel' ] = __( '电话' );        //电话是代表列的名字
    $columns[ 'qq' ] = __( 'QQ 号' );        //QQ 号是代表列的名字
    return $columns;
}
function output_my_comments_columns( $column_name, $comment_id ){
    switch( $column_name ) {
		case "tel" :
		echo get_comment_meta( $comment_id, 'tel', true );
		break;
		case "qq" :
		echo get_comment_meta( $comment_id, 'qq', true );
		break;
	}
}

保存后,在后台评论列表中就会看到添加的电话和 QQ 号。

赠人玫瑰,手有余香。