1

私がこのような関数を持っているとしましょう:

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

    // blah, blah, blah

}

post_gallery基本的に、上記の関数を使用すると、フィルターを使用して組み込み(別名デフォルト)のWordPress画像ギャラリーテンプレートをオーバーライドできます。

if ( is_feed( $feeds = 'custom_feed' ) ) { .... }重要なのは、条件付きタグを使用する必要があるカスタムフィードでのみデフォルトのWordPress画像ギャラリーテンプレートをオーバーライドしたいということです。

問題は、条件付きタグ内で関数を操作する正しい方法は何ですか?

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

filter-functionは、フィード内にいるときにのみ実行する必要があるため、最初のソリューションを使用します。

しかし、両方のソリューションが機能するはずなので、「正しい方法」はありません…</ p>

于 2012-09-03T10:49:26.910 に答える
1

私は最初のものを使用します。不要な場合はフィルターが無視されるため、高速になります。

また、2番目の例では、$ outputをスローバックする必要がありますが、これも速度の観点からは少し無駄です。

于 2012-09-03T10:50:48.577 に答える