从COMMENT_POST_ID拉取PRE_COMMENT_ON_POST的CommentData

时间:2016-11-12 作者:LPH

插件中的方法使用preprocess_comment 但commentdata数组没有comment_approved 因为评论还没有被记录下来。我正在尝试使用pre_comment_on_post 但注意到返回的信息是comment_post_ID.

如何才能comment_post_ID 是否仅用于获取要写入WP的注释的注释数据数组?

我试过了get_comments 但除了要写的评论外,它吸引了一切。下面是一段代码,它显示了var_dumpcomment_post_ID.

public function hooks() {
    add_action( \'pre_comment_on_post\', array( $this, \'write\' ), 10, 1 );
}

public function write( $comment_post_ID ) {
    var_dump($comment_post_ID);
}
也许有更好的方法来获取评论并将其发布到外部,然后将其写入WordPress。

1 个回复
SO网友:Z. Zlatev

您可以使用preprocess_comment 在…内wp_new_comment() 筛选以访问/修改将要写入的注释的数据。

```

/**
 * Filters a comment\'s data before it is sanitized and inserted into the database.
 *
 * @since 1.5.0
 *
 * @param array $commentdata Comment data.
 */
$commentdata = apply_filters( \'preprocess_comment\', $commentdata );
只要确保你在有问题的插件之后挂钩(使用更高的优先级),以便你的过滤器在插件对$commentdata 或者在它之前(使用较低的过滤器优先级),如果需要处理$commentdata 在传递给插件之前。看见add_filter\'s docs 如果$priority 争论对你来说是新鲜事。

相关推荐