如何在保存评论元值之前对其进行编辑?

时间:2015-08-25 作者:Shahrukh Khan

我使用add\\u comment\\u meta()函数在comments表单中引入了一个自定义字段。

我想知道是否有一种方法可以在保存帖子数据之前编辑评论元的数据,以便每次保存之前都用我的值替换数据。

假设关键是brand_id.

我已使用以下函数编辑custom_meta 价值

function update_comments_meta($post_id) {
    $args = array(
        \'post_id\' => $post_id,
    );
    $comments = get_comments($args);
    if (!empty($comments)) {
        foreach ($comments as $comment) {
            echo $comment;
            update_comment_meta($comment->comment_ID, \'brand_id\', \'hard_coder\');
        }
    }
}

add_action(\'save_post\', \'update_comments_meta\');

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

您可以使用“save_post“行动挂钩

将下面的代码添加到函数中。php和enchance以及您的comment\\u元代码。

function update_comments_meta( $post_id ) {
   // Do whatever add/update_comment_meta code you need
}
add_action( \'save_post\', \'update_comments_meta\' );
<小时>UPDATE.

作为示例,我在下面附上了代码。它在启动保存/更新后操作时执行。代码获取当前的post注释(all),然后通过它启动的接收到的注释对象循环update_comment_meta 从comments对象提取ID。

function update_comments_meta($post_id) {
    $args = array(
        \'post_id\' => $post_id,
    );
    $comments = get_comments($args);
    if (!empty($comments))
        foreach ($comments as $comment) {
            update_comment_meta($comment->comment_ID, \'YOUR_META_KEY\', \'YOUR_META_VALUE\');
        }
}

add_action(\'save_post\', \'update_comments_meta\');
希望这是你感兴趣的情况。代码在4.3 Twenty15上测试。

参考文献:

  1. update_comment_meta()
  2. get_comments()