如何重写wp_INSERT_COMMENT()

时间:2012-05-18 作者:Pierre Espenan

我正在尝试覆盖wp_insert_comment() (wp包括/comment.php)。我在functions.php 文件,位于我的主题中:

add_filter(\'wp_insert_comment\', \'my_insert_comment\');
function my_insert_comment($commentdata)
{
     /* Some stuff */
}
以下是原始wp\\u insert\\u comment()函数中的一行:

function wp_insert_comment($commentdata)
{
    /* Some stuff */
    do_action(\'wp_insert_comment\', $id, $comment);
    return $id;
}
经过多次测试,我觉得wp_insert_comment() 执行时do_action() 行,我的过滤器被考虑在内,我的my_insert_comment() 函数最终执行。


当然,我的目的是用我自己的函数替换原来的函数。my_insert_comment() 如果我直接在comments.php 文件,但我想保留它,以防更新。

我做错什么了吗?

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

您不能重写它,因为此函数是不可插入的,并且是WP核心的一部分。你所能做的就是加入你的钩子wp_insert_comment, 就像你实际做的那样。

结束

相关推荐

WP_LIST_COMMENTS中的注释日期不起作用吗?

我正试图在wordpress网站上创建我的第一个评论列表和评论表单,但日期显示为%e %B %Y at %H:%M 而不是日期。看起来date format 无法识别。我只是编写了以下代码:<?php $args = array ( \'avatar_size\' => 48 ); wp_list_comments($args); ?> <?php comment_form(); ?>&#