パンくずリスト詳細

閲覧数: 27(1)

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

主に仕様を変更したところは「ページタイトル」と呼ばれる投稿記事一覧を表示する部分です。トップページやアーカイブ、検索画面の表示が複数のページになる場合、ページタイトルを表示するのは最初のページのみで、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閑話, 公開タグ, ,
関連記事
テーマの日本語化
2018年6月12日

今回は単なる「翻訳」とかではなくて「文化的」な面での日本語化についての対応。今回の元になったテーマ「  続きを読む

テーマリニューアル2017
blank
2017年7月21日

すっかりご無沙汰してしまいました。 復帰記念に久しぶりにテーマを変更しました。今回使用するのは「ob  続きを読む

パンくずリスト
blank
2015年11月10日

英語だと、Breadcrumb、パンくずって訳すしかないわなぁ。でもどうもしっくりこない。個人のサイ  続きを読む

アクセシビリティ対策
blank
2019年6月23日

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

dockerとproxy
blank
2019年6月18日

dockerやdocker-composeをプロキシ環境下で使うのに苦労したので忘れないようにメモし  続きを読む

関連記事の大原則
blank
2019年6月16日

ググったりしてあるページにたどり着いた閲覧者に対して、それに関連する記事を提示して少しでもサイトの滞  続きを読む

コメントを残す

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