パンくずリスト詳細

閲覧数: 59(0)

テーマの「マイナーチェンジ」に伴って「パンくずリスト」の仕様を若干変更しました。一つ前のテーマではパンくずリストはテーマ本体に機能が含まれていましたが、現在のテーマは親テーマが同じではありますが、パンくずリストは単独のプラグインでの実装となっています。テーマ開発と同じチームなので親和性などは従来通りです。別プラグインになったのはそもそものコードに脆弱性の問題があったようなのですが、現在のバージョンでは対応がされていて問題はありません。

主に仕様を変更したところは「ページタイトル」と呼ばれる投稿記事一覧を表示する部分です。トップページやアーカイブ、検索画面の表示が複数のページになる場合、ページタイトルを表示するのは最初のページのみで、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; ?>

トップページを表示した以降、ページ送りをして過去の記事を表示している時でも「ページタイトル」が「最新記事」って表示されるのは変だなぁと思っていたので少しすっきりしました。修正箇所が多くなると細部の拘りが上手に表現出来て良いのですが、その分将来の移行の時に「拘り部分」の移行に苦労することになります。一種のジレンマではありますが、当面はこのままいこうと思います。

カテゴリー公開, 閑話(IT)タグ, ,
dockerとiptables

クラウドサーバーを利用する場合、ファイアウォール(Firewalld/iptables)の設定に失敗  続きを読む

超高速WEBサイト?
blank

NGINXとHHVMを使った超高速WEBサイトを目指して新しいインスタンスを立てた今回の「引越」でし  続きを読む

アクセシビリティ対策
blank

テーマカスタマイズの一環で、トップページに一覧表示されている「写真を左右交互に表示する」ようにした際  続きを読む

トリミング3
blank

先日から投稿ページ下部に、関連記事を表示するプラグインを導入しました。人気プラグインである、Word  続きを読む

子テーマ化
blank

復帰記念にテーマを変更した記事「テーマリニューアル」では子テーマ化せずにCSSのみで対応する方針と言  続きを読む

ページナビ
blank

いわゆるトップページで一覧表示する時や、シングルページで個別記事を表示する時に、ページ下部に「新しい  続きを読む

スポンサーリンク

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください