在管理中编辑时显示自定义备注字段

时间:2013-01-19 作者:Chris

我正在使用Custom Comment 将自定义字段添加到我的评论的插件。

这个插件可以让你定义更多的评论字段,让你的访问者包括他们的facebook、twitter和。。。在他们的评论中

一切正常。但是,当我在管理端编辑注释时,自定义字段不会显示。目前只显示默认字段-name, email, url, comment.

是否有可用于显示此注释自定义字段的操作或筛选器?

1 个回复
最合适的回答,由SO网友:brasofilo 整理而成

在评论编辑屏幕中插入元框与在帖子类型屏幕中插入元框相同。但它只能放在宽栏上,侧边栏似乎不接受其他框。

为了捕获正在发布的数据,我只找到了过滤器comment_edit_redirect.

这必须进行调整才能与插件一起使用。本例中的自定义字段为meta_comment_field. 请参见代码注释:

// SAVE COMMENT META
// only found this hook to process the POST
add_filter( \'comment_edit_redirect\',  \'save_comment_wpse_82317\', 10, 2 );

// META BOX
add_action( \'add_meta_boxes\', \'add_custom_box_wpse_82317\' );

/**
 * Save Custom Comment Field
 * This hook deals with the redirect after saving, we are only taking advantage of it
 */
function save_comment_wpse_82317( $location, $comment_id )
{
    // Not allowed, return regular value without updating meta
    if ( !wp_verify_nonce( $_POST[\'noncename_wpse_82317\'], plugin_basename( __FILE__ ) ) 
        && !isset( $_POST[\'meta_comment_field\'] ) 
        ) 
        return $location;

    // Update meta
    update_comment_meta( 
        $comment_id, 
        \'meta_comment_field\', 
        sanitize_text_field( $_POST[\'meta_comment_field\'] ) 
    );

    // Return regular value after updating  
    return $location;
}

/**
 * Add Comment meta box 
 */
function add_custom_box_wpse_82317() 
{
    add_meta_box( 
        \'section_id_wpse_82317\',
        __( \'Meta Comment Meta\' ),
        \'inner_custom_box_wpse_82317\',
        \'comment\',
        \'normal\'
    );
}

/**
 * Render meta box with Custom Field 
 */
function inner_custom_box_wpse_82317( $comment ) 
{
    // Use nonce for verification
    wp_nonce_field( plugin_basename( __FILE__ ), \'noncename_wpse_82317\' );

    $c_meta = get_comment_meta( $comment->comment_ID, \'meta_comment_field\', true );
    echo "<input type=\'text\' id=\'meta_comment_field\' name=\'meta_comment_field\' value=\'", 
        esc_attr( $c_meta ), 
        "\' size=\'25\' />";
}
comments custom field

结束

相关推荐

如何使用GET_COMMENTS获取混合状态的评论?

有没有一种方法可以获得多个评论status 使用get_comments 作用比方说,我想两者兼得trash 和hold 评论。对于帖子也可以这样做:get_posts(array(\'post_status\' => \'draft,private,trash\')); get_posts(array(\'post_status\' => array(\'draft\', \'private\', \'trash\'))); 我想做的是:get_comments(array