COMMENT_NOTIFICATION_TEXT过滤器的参数

时间:2013-10-22 作者:Toc

从…起WP codex:

comment\\u moderation\\u文本:在发送电子邮件通知管理员需要调整新评论之前,应用于邮件正文。筛选器函数参数:邮件正文文本、注释ID。

然而,当我把我的功能。php:

function x99($textMsg, $comId) {
  if (is_null($comId)) {
    return "empty";
  } else {
    return ($textMsg);
  }
}
add_filter("comment_notification_text", "x99");
通知消息正文为“空”。因此,注释ID为null。为什么?我如何取回它?

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

对于参数,check the source:

$notify_message  = apply_filters( \'comment_notification_text\',       $notify_message,  $comment_id );
您有两个参数。第一个是通知文本本身,在过滤器进行修改之前。是的constructed earlier in the same function 对于注释、trackback和pingback是不同的。第二个参数,正如您可能从名称中猜到的,是注释ID。根据您找到的Codex条目,这一切都是正确的。

但是,您的问题是,默认情况下只传递第一个参数。如果需要其他任何一个,则必须通过add_filter.

add_filter("comment_notification_text", "x99", 1, 2);
第三个参数是优先级。你可以根据需要调高或调低。1 应该尽早运行过滤器。

结束

相关推荐

get_posts() and filters

我为添加了自定义筛选函数the_posts 在插件中筛选。add_filter(\'the_posts\', \'posts_filter\'); function posts_filter() { … } 这在主循环中运行得很好,这意味着帖子会按照我在posts_filter 作用但我正在打电话get_posts() 在ajax请求中获取一些帖子。在那里,过滤器不起作用。query_posts() 或自定义wp_query 不要工作太多。所以问题是:我如何才能在主循环旁获得按the_p