HCDコンサルティング(旧・中川勉社会保険労務士事務所FPウェブシュフ)のブログ

投稿タイトルすぐ上のカテゴリ表示を、パンくずリストにカスタマイズ。

WordPressの公式テーマ Twenty Twenty では、投稿タイトルのすぐ上に、投稿が所属するカテゴリが表示されます。

ただ、私は、投稿のすぐ上には、パンくずリストを置きたいのです。こんな感じで↓

子テーマを利用したカスタマイズで、パンくずリストをなんとか実現しました。

参考になれば幸いです

投稿タイトルすぐ上にカテゴリ表示をするコードはどこにある?

まず、投稿タイトルのすぐ上にカテゴリ表示をするコードがどこにあるか探します。

このコードは、 Twenty Twenty/template-parts/entry-header.php の32行目以下にあります。

if ( true === $show_categories && has_category() ) {
             ?>

         <div class="entry-categories">
             <span class="screen-reader-text"><?php _e( 'Categories', 'twentytwenty' ); ?></span>
             <div class="entry-categories-inner">
                 <?php the_category( ' ' ); ?> 
            </div><!-- .entry-categories-inner -->
         </div><!-- .entry-categories --> 

        <?php
     }

コードの場所がわかりました。

あとは以下の流れで作業をするのみです。

  1. 子テーマフォルダ内直下に template-parts フォルダを作る
  2. 子テーマ/template-parts/ フォルダ直下に、親テーマからentry-header.php をコピペする
  3. 投稿タイトルのすぐ上にカテゴリ表示をするコードをカスタマイズして、パンくずリストを表示するようにする
  4. 子テーマの entry-header.php をFTPソフトでアップロードする

1,2,4 については解説するまでもないと思います。

どうしても分かりにくければ、投稿タイトル下の抜粋表示を停止する|WordPress Twenty Twentyを参照して下さい。

ここでは、3についてのみ説明します。

パンくずリストを表示するコード

投稿タイトルのすぐ上にカテゴリ表示をするコードを 以下のようにカスタマイズしました。

if ( true === $show_categories && has_category() && is_single()) {
             ?>

        <div class="entry-categories">
            <span class="screen-reader-text"><?php _e( 'Categories', 'twentytwenty' ); ?></span>
            <div class="entry-categories-inner">
                <a href="<?php bloginfo('url'); ?>">TOP</a>»<?php the_category( '»','multiple' ); ?>»
            </div><!-- .entry-categories-inner -->
        </div><!-- .entry-categories -->

        <?php
    }

そして、FTPソフトで、子テーマの entry-header.php をアップロード。

そうすると、パンくずリストが出現しました。

これで、自分の思い通りにカスタマイズすることが出来ました。

カテゴリページの各投稿のカテゴリ名表示は停止した

なお、 このパンくずリスト形式のカテゴリ名表示は、 true === $show_categories && has_category() の後ろに&& is_single()を付けたことにより、個別投稿ページの個別投稿タイトルの上にしか表示されないようにしました。

つまり、カテゴリページに並んでいる個別投稿タイトルの上には、投稿のカテゴリ名は表示されないようにしました。

だって、カテゴリページに表示される投稿は、そのカテゴリーに所属していることは明らかなので、一つ一つの投稿にカテゴリ名を表示する必要はありませんから。

むしろ、「カテゴリ:〇〇」の上にパンくずリストを表示させたいところです。


投稿日

カテゴリー:

投稿者:

 最終更新日:

タグ: