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

wordpress主题给评论添加自定义字段

wordpress 主题评论默认只有昵称 邮箱 网址三个选项,如何添加一些其他自定义字段呢,如 qq\微信\手机号等

首先是需要丰富 form 表单结构:

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

<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="weixin">微信号</label>
<input type="text" name="weixin" class="text" id="weixin" value="<?php echo get_comment_meta($comment->comment_ID,'weixin',true); ?>" tabindex="4"/>
</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="5"/>
</p>

然后是将提交的数据写入数据库

//wordpress 新增文章评论表单字段,如手机、微信、QQ 等
add_action('wp_insert_comment','wp_insert_tel',10,3);
    function wp_insert_tel($comment_ID,$commmentdata) {
    $tel = isset($_POST['tel']) ? $_POST['tel'] : false;
    $weixin = isset($_POST['weixin']) ? $_POST['weixin'] : false;
    $qq = isset($_POST['qq']) ? $_POST['qq'] : false;  
    update_comment_meta($comment_ID,'tel',$tel);//tel 是存储在数据库里的字段名字
    update_comment_meta($comment_ID,'weixin',$weixin);//weixin 是存储在数据库里的字段名字
    update_comment_meta($comment_ID,'qq',$qq);//qq 是存储在数据库里的字段名字

最后是在后台评论列表显示出来

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[ 'tel' ] = __( '电话' );        //电话是代表列的名字
    $columns[ 'weixin' ] = __( '微信号' );   //微信号是代表列的名字
    $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 "weixin" : 
echo get_comment_meta( $comment_id, 'weixin', true ); 
break;
case "qq" :
echo get_comment_meta( $comment_id, 'qq', true );
break;
     }

赠人玫瑰,手有余香。