2017-11-07 20 views
0

なぜfunction.phpのこのコードは、WordPressのホームページではないモバイル版のメニューに切り替えるこの奇妙な副作用を持っていますか?WordpressでのPHPポストクエリコードの奇妙な副作用

function my_blog_category($query) { 
if ($query->is_home() && !is_front_page() || is_archive()) { 
$query->set('cat', '6'); 
} 
} 
add_action('pre_get_posts', 'my_blog_category'); 

このコードは、ブログとアーカイブページの投稿にのみ影響します。その理由は何ですか?

答えて

0

あなたが求めていたので、それは働いていない理由は次のとおりです。

  • $query->is_home() && !is_front_page()
  • あるいは、is_archive()

グループブラケットを使用して、条件式ます。 $query->is_home()

  • 場合

    • をそして、コードが以前働いていた!is_front_page()またはis_archive()
+0

場合、問題はありませんでした:

function my_blog_category($query) { if ($query->is_home() && (!is_front_page() || is_archive())) { $query->set('cat', '6'); } } add_action('pre_get_posts', 'my_blog_category'); 

今、あなたは求めていますコードそのものですが、その副作用明らかにデスクトップの幅にあるモバイルバージョンでnavを完全に変更すると、 "display:none;"最終的には、私は正しい投稿のクエリを持っていますが、プライマリメニューはありません。これは奇妙です。 – Riccardo