パンくずリスト詳細
テーマの「マイナーチェンジ」に伴って「パンくずリスト」の仕様を若干変更しました。一つ前のテーマではパンくずリストはテーマ本体に機能が含まれていましたが、現在のテーマは親テーマが同じではありますが、パンくずリストは単独のプラグインでの実装となっています。テーマ開発と同じチームなので親和性などは従来通りです。別プラグインになったのはそもそものコードに脆弱性の問題があったようなのですが、現在のバージョンでは対応がされていて問題はありません。
主に仕様を変更したところは「ページタイトル」と呼ばれる投稿記事一覧を表示する部分です。トップページやアーカイブ、検索画面の表示が複数のページになる場合、ページタイトルを表示するのは最初のページのみで、2ページ目以降は「パンくずリスト」のみを表示します。最初のページかどうかの判定は以下のようなコードで実現しています。テーマオプションの中で「最新の記事」につけるタイトルを格納する変数「$News」を表示する部分に、1ページ目かどうかの判定を入れています。こうする事で2ページ目以降にはページタイトルを表示しない制御をしています。
if ( is_home() && absint( max( $paged, $page ) == 0 ) ) : $post_title = get_theme_mod( 'fotografie_latest_posts_title', esc_html__( 'News', 'fotografie-blog' ) ); if ( '' !== $post_title ) : ?> <header class="blog-section-headline"> <div class="page-title-wrapper"> <h2 class="page-title"><?php echo esc_html( $post_title ); ?></h2> </div><!-- .page-title-wrapper --> </header> <?php endif; endif;
検索用は以下のようなコードで実現しています。検索結果の表示画面が1ページ目かどうかの判定が入っています。
<?php if ( have_posts() ) : ?> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php if ( absint( max( $paged, $page ) == 0 ) ) : ?> <header class="page-header blog-section-headline"> <div class="page-title-wrapper"> <h1 class="page-title"> <span class="archive-title-type"><?php esc_html_e( 'Search Results for: ', 'fotografie' ); ?></span> <span class="search-keyword"><?php echo get_search_query(); ?></span> </h1> </div><!-- .page-title-wrapper --> </header> <?php endif; ?>
アーカイブ用も検索用とほぼ同じです。
<?php if ( have_posts() ) : ?> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php if ( absint( max( $paged, $page ) == 0 ) ) : ?> <header class="page-header blog-section-headline"> <div class="page-title-wrapper"> <?php the_archive_title( '<h1 class="page-title">', '</h1>' ); ?> </div><!-- .page-title-wrapper --> <div class="taxonomy-description-wrapper"> <?php the_archive_description( '<div class="taxonomy-description">', '</div>' ); ?> </div><!-- .taxonomy-description-wrapper --> </header> <?php endif; ?>
トップページを表示した以降、ページ送りをして過去の記事を表示している時でも「ページタイトル」が「最新記事」って表示されるのは変だなぁと思っていたので少しすっきりしました。修正箇所が多くなると細部の拘りが上手に表現出来て良いのですが、その分将来の移行の時に「拘り部分」の移行に苦労することになります。一種のジレンマではありますが、当面はこのままいこうと思います。