COMMENT_POST操作挂钩在页面加载时运行,而不是在发布评论之后运行

时间:2015-04-28 作者:slickdrick

我试图在注释保存到数据库后调用函数,请参见下面。。。

add_action(\'comment_post\', \'myFunction\', 10, 2); 
do_action(\'comment_post\', $comment_ID, $comment_approved); 
我已将此代码放入comments.php 文件myFunction 定义于functions.php 如下所示

function myFunction($comment_ID, $comment_approved){
    Analytics::track(\'Posted comment!\');
}
问题是,此函数在每次加载包含评论表单的页面时都会被调用,而不仅仅是在发布评论时。。。

你有没有想过为什么会这样???

我想一个解决方法可能是仅当页面从加载时才在页面加载时调用函数wp-comments-post.php 但我不知道从哪里开始尝试实现这个目标。。。

感谢您的帮助!

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

无论何时,都会调用您的操作comments.php 加载,因为您显式地使用do_action. 功能和add_action 应该在functions.php, 和do_action 应完全移除。

结束

相关推荐

从GET_COMMENTS的参数中排除特定的用户ID

我基本上是在多个页面上使用“最新评论”系统,其中一个特定用户被列为评论的第一个回复(用特殊CSS突出显示),然后在这个“特殊评论”下面列出2-3个普通用户。我希望将特定用户从普通用户列表中排除,但我无法确定。如果HTML有点混乱,很抱歉,但真正重要的是第二个$args数组。<?php $args = array( \'user_id\' => $curauth->ID, \'number\' => 5,