1

假设我有这样的功能:

add_filter("post_gallery", "fix_my_gallery_wpse43558",10,2);
function fix_my_gallery_wpse43558($output, $attr) {

    // blah, blah, blah

}

post_gallery基本上,上面的功能允许我使用过滤器覆盖内置(AKA 默认)WordPress 图片库模板。

问题是,我只想在我的自定义提要中覆盖默认的 WordPress 图片库模板,为此我需要使用if ( is_feed( $feeds = 'custom_feed' ) ) { .... }条件标签。

问题是,在条件标签内操作函数的正确方法是什么?

if ( is_feed( $feeds = 'custom_feed' ) ) {

    add_filter("post_gallery", "fix_my_gallery_wpse43558",10,2);
    function fix_my_gallery_wpse43558($output, $attr) {

        // blah, blah, blah

    }

}

或者

add_filter("post_gallery", "fix_my_gallery_wpse43558",10,2);
function fix_my_gallery_wpse43558($output, $attr) {

    if ( is_feed( $feeds = 'custom_feed' ) ) {

        // blah, blah, blah

    }

}
4

2 回答 2

2

我会选择您的第一个解决方案,因为过滤器功能只需要在您在提要中时执行。

但是没有“正确的方法”,因为这两种解决方案都应该有效……</p>

于 2012-09-03T10:49:26.910 回答
1

我会用第一个。它会更快,因为过滤器将在不需要时被忽略。

此外,在第二个示例中,您还需要丢弃 $output,从速度的角度来看,这又有点浪费。

于 2012-09-03T10:50:48.577 回答