WordPress パンくずリスト表示用のショートコード

広告WordPress・PHP を学べる本

Amazonのアソシエイトとして、WordPress functions.phpは適格販売により収入を得ています。

概要説明

プラグインを使わずにパンくずリストを表示させるためのショートコード。アーカイブやタグページなども追加していくことで全ページ対応のパンくずリストが作成できます。

functions.php
/*----------------------------------------------------
 パンくずリスト表示ショートコード
----------------------------------------------------*/
if ( ! function_exists( 'get_breadcrumb' ) ) {
    function get_breadcrumb() {
        // 区切り定義
        $separator = ' > ';
        $html      = '';

        // トップページ以外
        if ( ! is_home() ) {
            $html .= '<a href="' . esc_url( home_url( '/' ) ) . '">TOP</a>';
        }

        // カテゴリー
        if ( is_category() ) {
            $html .= $separator . esc_html( single_cat_title( '', false ) );
        }

        // 投稿ページ
        if ( is_single() ) {
            $html .= $separator . esc_html( get_the_title() );

        // 固定ページ
        } elseif ( is_page() ) {
            $html .= $separator;

            // ページ属性の親を判定
            foreach ( array_reverse( get_post_ancestors( get_the_ID() ) ) as $id ) {
                $title = get_the_title( $id );
                $html .= '<a href="' . esc_url( get_permalink( $id ) ) . '" title="' . esc_attr( $title ) . '">' . esc_html( $title ) . '</a>' . $separator;
            }
            $html .= esc_html( get_the_title() );
        }

        // ショートコードは echo ではなく return で返す
        return $html;
    }
    add_shortcode( 'the_breadcrumb', 'get_breadcrumb' );
}

以前のコードは echo で出していたため、ショートコードを置いた場所ではなく本文の先頭に出ていました。文字を組み立てて return で返し、URL とタイトルをエスケープする形に直しました(2026/10/18・作業環境で、置いた場所に出ることを確かめています)。

[the_breadcrumb] でパンくずが表示されます

記事ページ ( カテゴリーなし )

TOP > WordPress パンくずリスト表示用のショートコード

TOP > 機能追加 > WordPress パンくずリスト表示用のショートコード

記事ページ ( カテゴリー複数 )

TOP > WordPress,機能追加 > WordPress パンくずリスト表示用のショートコード

固定ページ ( 親なし )

TOP > 固定ページ名

固定ページ ( 親あり )

TOP > 親固定ページ > 固定ページ名

関連機能

  1. ico形式のファイルをアップロードできるようにする

  2. WordPress タグクラウドの最大表示件数を変更する

  3. WordPress の記事の何番目の見出しの前に広告や文を差し込む:the_content で 1 つ目・2 つ目・最後の h3 を数える

サイドバー

よく使うカスタマイズ

最近の記事

Profile

PAGE TOP