如何在管理评论部分显示评论的元字段值?

时间:2014-06-25 20:09:48

标签: wordpress plugins

我在用户年龄的wordpress评论表单中添加了一个额外的字段。 我已经像这样添加了字段:

add_filter('comment_form_default_fields','add_comment_fields');
function add_comment_fields($fields) {
    $fields['location'] = '<p class="comment-form-location"><label for="location">' . __( Location ) . '</label>' .
        '<input id="location" name="location" type="text" size="30" /></p>';

    return $fields;

}

此外,我还使用“comment_post”操作将meta值保存在注释元表中。 现在我必须在管理员评论部分显示这个评论元值。我怎么能这样做?

3 个答案:

答案 0 :(得分:9)

试试下面的代码,希望你能在管理部分看到你的额外字段(这里我用age作为元键)。

add_action( 'add_meta_boxes_comment', 'comment_add_meta_box' );
function comment_add_meta_box()
{
 add_meta_box( 'my-comment-title', __( 'Your field title' ), 'comment_meta_box_age',     'comment', 'normal', 'high' );
}

function comment_meta_box_age( $comment )
{
    $title = get_comment_meta( $comment->comment_ID, 'age', true );

   ?>
 <p>
     <label for="age"><?php _e( 'Your label Name' ); ?></label>;
     <input type="text" name="age" value="<?php echo esc_attr( $title ); ?>"  class="widefat" />
 </p>
 <?php
}
add_action( 'edit_comment', 'comment_edit_function' );
function comment_edit_function( $comment_id )
{
    if( isset( $_POST['age'] ) )
      update_comment_meta( $comment_id, 'age', esc_attr( $_POST['age'] ) );
}

答案 1 :(得分:0)

答案 2 :(得分:0)

如果您成功保存了元值,则可以使用get_comment_meta函数来检索值。

图案:

<?php $meta_values = get_comment_meta( $comment_id, $key, $single ); ?> 

在你的情况下,这可能有用:

<?php $meta_values = get_comment_meta( $comment_id, 'location', true ); ?> 

有关详细信息,请参阅完整文档:http://codex.wordpress.org/Function_Reference/get_comment_meta