快速更新后显示注释元数据

时间:2017-04-24 作者:anton

我几乎没有自定义的评论字段-电话,存储为评论元。在评论编辑页面上(edit-comments.php) 我在自定义列中显示此值。我还在编辑后页面上显示这些值(post.php) 在注释元框中

为了在注释元框中显示注释元值(在注释文本之前),我使用get_comment_text 滤器在这个函数中,我检查它是否被wp_ajax_get-comments 操作,因为我只想在注释元框中以简单文本的形式注释元值

add_filter( \'get_comment_text\', function( $comment_comment_content, $comment, $args ){

    if( doing_action( \'wp_ajax_get-comments\' ) ){

        $phone = get_comment_meta( $comment->comment_ID, \'phone\', true );

        if($phone)
            $out .=  __(\'Phone\') . \': \' . $phone;

        echo $out;

    }

    return $comment_comment_content;

}, 10, 3 );

但当前注释元值在快速更新后消失,仅在页面刷新后显示,当wp_ajax_get-comments 再次呼叫。下面是一个简单的例子:
Comment meta value dissapears after update

当我快速更新评论时,我在评论编辑页面上遇到了同样的问题-快速更新后,评论元值消失

1)在评论快速更新后,如何更新编辑后页面上评论元框中的评论文本
2)如何在评论快速更新后更新评论编辑页面上的自定义列?

1 个回复
SO网友:ahendwh2

我认为行动wp_ajax_get-comments 如果快速更新注释,则不会触发。您应该检查更新时触发了哪个ajax请求,然后将代码更改为:

if( doing_action( \'wp_ajax_get-comments\' ) || doing_action( \'wp_ajax_quick-update-action\' ) ){
    ...
}
我目前无法测试这段代码,但我希望它能工作。