概要説明
プラグインを使わずにパンくずリストを表示させるためのショートコード。アーカイブやタグページなども追加していくことで全ページ対応のパンくずリストが作成できます。
~ 目次 ~
プラグインを使わずにパンくずリストを表示させるコード
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 パンくずリスト表示用のショートコード
記事ページ ( カテゴリー1つ )
TOP > 機能追加 > WordPress パンくずリスト表示用のショートコード
記事ページ ( カテゴリー複数 )
TOP > WordPress,機能追加 > WordPress パンくずリスト表示用のショートコード
固定ページ ( 親なし )
TOP > 固定ページ名
固定ページ ( 親あり )
TOP > 親固定ページ > 固定ページ名


