这三个钩子的射击顺序是什么?
add_filter( \'comments_array\', array( $this, \'BuildCommentsArray\' ), 10, 2 );
add_action( \'preprocess_comment\', array( $this, \'write\' ), 10, 1 );
add_action( \'comment_post\', array( $this, \'add_meta\' ), 10, 1 );
这就是我试图实现的目标,但我得到了一个循环。
在BuildCommentsArray中,可以找到尚未写入WordPress的论坛帖子。将帖子写到WordPress评论,然后写到commentmeta。
update_comment_meta( $comment_id, \'origin\', \'XenForo\');
preprocess\\u注释将新的WordPress注释写入论坛。有一个条件可以查找“origin”元值。如果没有出席,请写信给论坛。
comment\\u post使用post\\u id和thread\\u id信息将meta添加到WP注释中。
发生的事情是
论坛帖子被写入WordPress数据库
虽然“起源”的元值在WordPress commentmeta中但是,一个新的论坛帖子是根据WordPress评论创建的,尽管“起源”是有条件的。
$origin = get_comment_meta( $comment->comment_ID, \'origin\', true );
if ( $origin != \'XenForo\') {
// Write to Forum
}
这就引出了一个问题,preprocess\\u comment挂钩是否在comments\\u数组之前启动?
在这种情况下,我可以通过更改add\\u操作中的10来影响触发吗?
感谢您指出任何有帮助的信息。