如何确定是否从Wordpress小部件调用Wordpress插件

时间:2010-01-12 04:23:50

标签: wordpress

我正在编写一个Wordpress插件,只要触发'the_author'过滤器事件就会执行字符串处理。但是,一些小部件也包含'the_author'事件,随后我的插件被触发,这不应该发生。所以我试图检测我的插件是否从某些小部件调用,但到目前为止无济于事。我想忽略的一个小部件称为“最近评论”。我试过了:

function wrap_author($the_author) {
    if(!is_active_widget('recent_comments')) {
        $the_author = '<span class="CA_author">' . $the_author . '</span>';
        return $the_author;
    }
}

可能是我没有使用小部件的正确名称,我已经搜索了很多内容,以找到最近评论窗口小部件的正确内部名称,但到目前为止找不到它。或许我不应该使用is_active_widget函数。

1 个答案:

答案 0 :(得分:1)

如果您只是希望自己触发“主要”内容区域,请使用in_the_loop()功能检查您是否在内容循环中。这可能会让你99%的方式,但你几乎肯定会找到一些会引起挫折的边缘情况;)

if (in_the_loop()) {
// do stuff
}

这样可以防止代码在边栏中执行。