it-swarm-ja.com

current_theme_supports用の関数または変数を作成した方がよいでしょうか。

私はこれを自問しているだけで、これを実装することができる2つの方法があります。コーディング標準により適したものは何でしょうか。それとも、これは個人的な問題なのでしょうか。

そしてphpとメモリはどうでしょうか。これはもっと複雑で実行頻度が高いと仮定します。関数や変数を作成するのにより多くのメモリが必要ですか?

解決策1:

function stuff(){

    [...]

    $fluid = ( current_theme_supports('greatness') ) ? '-greatness' : '';

    $output = '<div class="box' . $fluid . '">';

    [...]

}

解決策2:

function stuff_alternative(){

    [...]        

    $output = '<div class="box' . bootgen_is_great() . '">';

    [...]

}

function bootgen_is_great(){

    if ( current_theme_supports( 'greatness' ) )
        return '-greatness';

}
1
amy

ここではメモリは問題ではありません。複雑な操作はありませんが、その違いはほとんど測定できません。

読みやすさが重要です。stuff関数がかなり短く(8つの機能ステップ以下)、チェックを1回だけ使用する場合は、チェックを入れたままにしてください。
しかし、もしあなたがサポートを必要とするならば、それを別々の機能でチェックしてください。

私は名前を最適化したいgreatnessはあまり説明的ではありません、そして私は流動的なレイアウトが好きですが - それらは素晴らしいレイアウトの同義語ではありません。 :)
また、それはカスタム名なので、プラグインとの衝突を避け、知らない読者に伝えるために 接頭辞 を付けてください(あなた、1年)後でそれはなにかカスタムなのです。

wpse51275という名前のテーマへの提案:

function wpse51275_box()
{
    // some awesome code …

    $box_class = 'box';
    current_theme_supports( 'wpse51275_fluid_layout' ) and $box_class .= '-fluid';

    $output = "<div class='$box_class'>";

    // more awesome code …
}
1
fuxia