サポート » 使い方全般 » カテゴリーで分岐したはずの画像がトップに表示されてしまうのです

  • 解決済 heppoko

    (@heppoko)


    footer.phpに下記ソースを記述しています。
    カテゴリー01の記事を表示している時は「footer_bt_cate01.png」ボタン画像を表示して、
    カテゴリー02の記事を表示している時は「footer_bt_cate02.png」ボタン画像を表示してねという内容で至って簡単なものかと思います。

    <div id="footerBt" class="clearfix">
    	<?php if ( in_category( 'cate01' ) ): ?>
    	  <p class="cate01Top"><a href="<?php bloginfo( 'url' ); ?>/cate01"><img src="<?php echo get_template_directory_uri(); ?>/img/footer_bt_cate01.png" alt="カテゴリー01トップへ"></a></p>
    	<?php elseif ( in_category( 'cate02' ) ): ?>
    	  <p class="cate02Top"><a href="<?php bloginfo( 'url' ); ?>/cate02"><img src="<?php echo get_template_directory_uri(); ?>/img/footer_bt_cate02.png" alt="カテゴリー02のトップへ"></a></p>
    	<?php endif; ?>
    </div>

    しかしなぜかトップページに「カテゴリー02」のボタンが表示されてしまいます。
    トップはindex.phpを表示させていまして、他の固定ページなどには表示されていません。
    なぜかトップにだけ表示されるのですが…理由が全く分からず困っております。
    ご教授いただければ幸いです。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • フッターに記述しているということはループ外で使用しているのでしょうか?
    トップページでは特に指定をしていない場合はpostの投稿データが読み込まれます。
    そのためpostの最新記事のカテゴリー(もしくは事前にループを使っていた場合最後のカテゴリー)が表示されると思います。
    footer.phpにそのような記述をした場合はindex.phpだけではなく、archive.phpやpage.phpでも不具合が出そうなのでis_single等でシングルページのみ表示するようにした方がいいと思います。

    トピック投稿者 heppoko

    (@heppoko)

    ご回答ありがとうございます。
    ループ外で使用しております。
    くわえて、

    single-cate01.php
    single-cate02.php

    を使ってそれぞれ記事を表示しているのですが、
    この場合、記述はどうすればいいのか悩んでおります。

    <div id="footerBt" class="clearfix">
    <?php if(is_single()):?>
    	<?php if (in_category( 'cate01' ) ): ?>
    	  <p class="cate01Top"><a href="<?php bloginfo( 'url' ); ?>/cate01"><img src="<?php echo get_template_directory_uri(); ?>/img/footer_bt_cate01.png" alt="カテゴリー01トップへ"></a></p>
    	<?php elseif ( in_category( 'cate02' ) ): ?>
    	  <p class="cate02Top"><a href="<?php bloginfo( 'url' ); ?>/cate02"><img src="<?php echo get_template_directory_uri(); ?>/img/footer_bt_cate02.png" alt="カテゴリー02のトップへ"></a></p>
    	<?php endif; ?>
    <?php endif;?>
    </div>

    でシングルページ以外表示されなくなると思います。

    トピック投稿者 heppoko

    (@heppoko)

    <?php if(is_single()):?>

    <?php endif; ?>

    これでくくればよかったのですね…

    <?php if(!is_front_page()):?>

    <?php endif; ?>

    というのは試してみたんです。

    ここまでやっておいて…全くもってお恥ずかしい…
    まだまだ勉強不足はなはだしい限りです。

    とても助かりましたです。
    重ね重ね、ありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カテゴリーで分岐したはずの画像がトップに表示されてしまうのです」には新たに返信することはできません。