WPでin_categoryが効かない!サイドバーが出てこない!原因と対処(解決)方法
管理しているサイトでカテゴリー単位で色々「in_category」で分岐してサイドバーの出し分けをしていたのですが、あるカテゴリーだけ、どう記述してもサイドバーが表示(分岐)されてくれない!という状況に陥ってしまいました。
記述方法が悪いのかなぁ。とそっち方面をググりまくってたのですが、全然改善せず。順番を変えてみても改善せず。変えたいカテゴリーだけの記述をしても改善せず!?
ここでこのページの記述に問題がある!と、よ〜〜〜やく気づき、解決することができたので、今回はその原因と解決(対処)方法です。
目次
in_categoryが効かない時の原因と対処方法
では早速。
in_categoryが効かなかった原因
サイドバーを出したかったカテゴリーのページは、single.phpを分岐してsingle-A.phpのようにして使っていました。
で、そこのページでは「商品一覧アイテム」を『wp_query』を使ってループして出していました。
結論、『wp_query』がきちんとリセットされてなかったのが原因だったんですが、なかなかここに辿り着けなかったんですよねぇ。。
in_categoryが効かない時の対処方法
原因がわかったらあとは簡単です。『wp_query』をリセットさせる記述、
<?php wp_reset_query();?>
を追加します。
<?php query_posts('cat=1,2&posts_per_page=6&orderby=rand&paged='.$paged); ?><!--カテゴリーID1,2を指定、6ページをランダム表示--> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> 〜〜〜 <?php endwhile; ?> <?php else: ?> 〜〜〜 <?php endif; wp_reset_query();?>
こんな感じに、7行目の「endif」のあとに
<?php wp_reset_query();?>
を追加してよ〜〜〜やく解決してくれました。。
ちなみに、
<?php wp_reset_postdata();?>
が入っていたので、リセットされていると思っていたのですが、「wp_reset_postdata」と「wp_reset_query」は同じリセットでも微妙に違うんですね。
これについてはまた今度余裕があれば書きます。
まとめ
「商品一覧」には、色々なカテゴリーのものが入っていたので、ほぼサイドバーはでなかったのです。
ただ数十回に一回程度表示、サイドバーを出したいものだけがその「商品一覧」を埋めていた時がたまたまあり、このおかげで原因を特定できた訳なのですが、いや〜〜〜長かった。。
代替案で商品一覧を消して数日間対処したりしてたので、結局解決に何週間もかかってしまいました。。ふぅ。。
同じように困ってる方がいたら、ぜひ試してみてください!
Google AdS
関連記事
-
簡単に画像を「右クリック&ドラッグ&直接リンク」させない方法・対策
WordPress(ワードプレス)で作成している管理サイトで、/wp-content/uploads/ 以下の階層に保存…
-
WordPressの管理画面でタグをカテゴリーのように選択する&一括で選択解除するボタンも設置する:オリジナルカスタムフィールドの記述方法
Webの知識がない方でも簡単にページ作成や修正ができるよう、オリジナルのカスタムフィールドを使って投稿を管理できるように…
-
『reCAPTCHA v3』を問い合わせページのみ&左側に表示させる方法:その1
2025/1 更新 『Google Cloud Platform』の項目が増えていて、この記事の方法では先に進…
-
301リダイレクトでサイトのリニューアル(ドメインを変更)する!:.htaccessの記述、設定方法、順序etc.
最近サーバーの見直し、ドメイン管理会社の見直し、サイト内の見直し等々しているのですが、以前から使用していたサーバー(エク…
-
検索結果に最終更新日を表示させてクリック率をアップする方法!新規投稿時には公開日を表示させる!
以前は検索結果で1ページ目上位3番目以内に半年以上表示されていた記事が、いきなり圏外となってしまいました。Googleの…