WordPressで複数のパンくずリストをネットショップの様に表示する

EYE
このエントリーをはてなブックマークに追加
PR

パンくずリストと言えば
親カテゴリ > 子カテゴリ > 孫カテゴリ > 子孫 ・・・

という具合に親子関係を築きながらリンクを表示する方式の事を言うのですが、Wordpressでも比較的簡単にパンくずリストを実装することが出来ます。Wordpressの運営上、一つのカテゴリだけを選ぶという方針ではない場合複数の親子関係が入り組んだ場合がありますね。

ネットショップでは、そういったのを全部表示させていることが基本ですね、例えば次のような感じに

 

例 )

パソコン > Windows > Windows 7 > NEC > 製品名
パソコン > 2015年発売 > NEC > 製品名
NEC > パソコン・タブレット > Windows > Windows 7 > 製品名

 

それでは、こういった表示をWordpressに実装してみましょう

 

WordPress に複数のパンくずリストを導入する

コードをドン、これを表示させたいところに設置すればOKです。あとはCSSで見栄えを整えれば完成です

<?php
//記事中のすべてのカテゴリを取得
$categories = get_the_category();

//カテゴリがある場合の実行
if ( $categories ) {
  
  //カテゴリの数だけ繰り返す
  foreach( $categories as $category ) {
    
    //カテゴリを親まで辿って表示
    echo get_category_parents($category->cat_ID,true," > ").get_the_title()."<br>";
  }
}
?>

 

コードの解説

まずは get_the_category() で記事中のカテゴリを取得します。そして、この get_the_category() で取得したものを foreach を回して、カテゴリIDを取り出して、それを get_category_parents で利用します。

get_category_parents は、カテゴリIDを入れるだけで簡単にパンくずリストを作り出す事が出来るWordpress独自の関数なので、これを使うことで簡単にパンくずリストを作れます

あとは、get_category_parents の出力内容に、記事名を get_the_title で取得して、連ねて echo で表示しています。リンク間のセパレートは get_category_parents(値1,値2) の値2のところに文字や記号を入れるとそれが区切りとして表示されます

 

WordPressの便利な関数を使うことで、意外と短くて簡単なコードで実装することが出来ます。

PR

COMMENT

  1. こんにちは。とても役に立つ情報をいつもありがとうございます。質問なのですが、このコードを表示させたいとこと書いてありますが、基本的にどこなのでしょうか?自分は投稿やカテゴリーのページ、タグなどのページにつけたいのですが、それはどこでしょうか?すいませんが初心者です!よろしくお願いします。

コメントを残す

PR

9ineBBの管理人が運営するサイト

WDG WEB DESIGN GALLERY ウェブデザインギャラリー CC0 PHOTO 無料で使える高画質な写真をダウンロード、クレジット表記、リンク不要

9ineBBの最新情報をチェック・購読

Twitter Facebook Google+ Feedly RSS

どこをクリックしてもこの表示を消せます
(3日後以降に再度表示されます)