2016-10-05 6 views
0

私のウェブサイトを女性と男性のディスプレイに分けましたが、今はis_front_page()is_home()の機能について心配しています。WP:is_front_page()とis_home()関数を変更してもよろしいですか?

この変更の前に、私はwww.site.comを先頭ページにしていましたが、現在はwww.site.com/menwww.site.com/womenも持っていて、それらもフロントページとして認識されたいと思っています。

私は新しいクラスMy_Query extends WP_Queryを作成し、これらの機能を無効にすることを考えました。

これは悪い考えですか?より良い方法がありますか?

答えて

1

WP_Queryから継承されたclassを実装することをお勧めしますが、このようなシナリオが表示されない場合でも、必要に応じて古い機能をサポートする必要があります。それはもっと自分のニーズに合っている場合は、デフォルトとして$defaultためfalseを持つことができます

class My_Query extends WP_Query { 
    //... 
    public function is_home($default = true) { 
     if ($default) { 
      return parent::is_home(); 
     } else { 
      //Implement your custom case 
     } 
    } 

    public function is_front_page($default = true) { 
     if ($default) { 
      return parent::is_front_page(); 
     } else { 
      //Implement your custom case 
     } 
    } 
    //... 
} 

:あなたはこのような何かを持っている必要があります。このアプローチは、少なくともあなたがデフォルトの方法でそれを使うとき、将来のWordpressのバージョンと互換性があります。

+0

ありがとうございます。しかし、別の方法が推奨されているかどうかを知る必要があります。多分フックですか?しかし、私はこれが唯一の方法だと思います。 –

+1

@HikeNalbandyan、これはきれいでエレガントな方法です。あなたは当初からかなり良いアイデアを持っていました。私はちょうどそれが形を取るのを助けました。私の答えがあなたの問題を解決したら、それを受け入れることを検討するかもしれません。 –

関連する問題