PREPROCESS_COMMENT数组没有COMMENT_ID

时间:2015-12-27 作者:LPH

我有一个使用过滤器的函数preprocess_comment 并且想要使用update_comment_meta( $comment[\'comment_ID\'], \'post_id\', $post_id );. 但是,preprocess\\u注释中的数组没有comment_ID.

在查看过滤器时,我找不到用于此函数的其他过滤器。

该函数将评论写入外部论坛。此部分功能正常工作,但在update_comment_meta 由于错误“重复”注释。在查看数据库时comment_post_ID 写入数据库,而不是comment_ID.

在尝试理解此挑战时,comment\\u ID不在数组中。这是因为它是注释的“预处理”,并且ID不可用。这是正确的吗?

因此,我如何向_commentmeta以便写入comment\\u ID而不是comment\\u Post\\u ID?

我已经看过了hooks 对于评论,但看不到我可以连接到的任何内容,以便将评论写入外部论坛,并允许更新评论元数据。

有人对采取的方向有什么建议吗?

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

在将帖子插入数据库之前,您不会获得评论ID。Before that point, ID不存在。你必须使用一个在事件发生后激发的钩子。。。

1735            /**
1736             * Fires immediately after a comment is inserted into the database.
1737             *
1738             * @since 1.2.0
1739             *
1740             * @param int        $comment_ID       The comment ID.
1741             * @param int|string $comment_approved 1 if the comment is approved, 0 if not, \'spam\' if spam.
1742             */
1743            do_action( \'comment_post\', $comment_ID, $commentdata[\'comment_approved\'] );