現在の接続環境は
です

記事内にプロモーションが含まれています。

WordPress カスタマイズ カスタマイズ 伝えたいこと 備忘録

プロモーションを含みます

パンくずリストで表示したいカテゴリを選択して表示する方法

所要時間目安: 7

This session is using  IPv4  is established in

今日は2025年6月22日です。

この記事は2016年4月2日のものです。現在は状況が異なる可能性がありますのでご注意ください。

目次に行く・戻る

2025年6月22日 (日曜日)↓における週間月間人気記事トップ3は?↓

  • 本日
  • 週間
  • 月間
  1. キーレスリモコン破損

    車のキーナンバー確認方法。キーレス紛失や壊れた時 1PV

    初めての経験でした。(汗)…。 キーレスエントリー、キーレスリモコンがついた鍵がエンジンを回す時にボキッと折れてしまいました。(汗)…。 プラスチックの本体部分と鉄のキー部分が分裂してしまいました。 …

    もっと読む

  2. キーシリンダー

    TOYOTAキーレスリモコンの設定方法とキーナンバー(キー番号) 1PV

    この度は(今回は?)、プラスチックの経年劣化により車のキーレスリモコンキーの送信機側(トランスミッター)のみをなくしてしまった場合です。(まだスマートキーやインテリジェンスキーと言われる前のキーレスリ…

    もっと読む

  3. エクストレイルT32エアコンエバポレーター洗浄PITWORK(ピットワーク) エアコン エバポレーター洗浄・抗菌剤 効果12カ月 180ml KA401-18090にて 1PV

    エアコンが必要な時期になってきましたね。エアコンは使用しなくてもカビ臭などが発生したりしてしまいます。その他にも長年エアコンフィルターを交換しないでいるのも要因にはなります。また、旧車や長年乗った愛車…

    もっと読む

  1. キーレスリモコン破損

    車のキーナンバー確認方法。キーレス紛失や壊れた時 33PV

    初めての経験でした。(汗)…。 キーレスエントリー、キーレスリモコンがついた鍵がエンジンを回す時にボキッと折れてしまいました。(汗)…。 プラスチックの本体部分と鉄のキー部分が分裂してしまいました。 …

    もっと読む

  2. エクストレイルT32運転席側バイザーメッキモール剥がれ修復方法とオススメ両面テープ 25PV

    車の購入後、乗ろうが乗らまいが経年劣化というものは付きものなのですが、特にプラスチック部分や両面テープ部分などは経年劣化がどうしても起きてきてしまいます。 そんな車でも長めにお気に入りの愛車となれば長…

    もっと読む

  3. ECUリセット

    ECUをリセットする方法。アイドリング不安定だったのでしょうがなく 18PV

    過去の記事で、車も人間と同じようにメンテナンスは大事です。 と記載しました。 ですが、メンテナンスのし過ぎもいかがなものかという感じになりました。(メンテナンスしないのはもっと悪いですが…。) その記…

    もっと読む

  1. キーレスリモコン破損

    車のキーナンバー確認方法。キーレス紛失や壊れた時 33PV

    初めての経験でした。(汗)…。 キーレスエントリー、キーレスリモコンがついた鍵がエンジンを回す時にボキッと折れてしまいました。(汗)…。 プラスチックの本体部分と鉄のキー部分が分裂してしまいました。 …

    もっと読む

  2. エクストレイルT32運転席側バイザーメッキモール剥がれ修復方法とオススメ両面テープ 25PV

    車の購入後、乗ろうが乗らまいが経年劣化というものは付きものなのですが、特にプラスチック部分や両面テープ部分などは経年劣化がどうしても起きてきてしまいます。 そんな車でも長めにお気に入りの愛車となれば長…

    もっと読む

  3. ECUリセット

    ECUをリセットする方法。アイドリング不安定だったのでしょうがなく 18PV

    過去の記事で、車も人間と同じようにメンテナンスは大事です。 と記載しました。 ですが、メンテナンスのし過ぎもいかがなものかという感じになりました。(メンテナンスしないのはもっと悪いですが…。) その記…

    もっと読む

パンくずリスト

WordPressでブログを始めてからずっとなんとかならないかなぁ。
と思っていたことがあります。

それは、
パンくずリストが複数のカテゴリを選択して投稿した際には、
英数字(A~Z)から優先されて日本語(五十音順)の順になってしまい、
思っていたカテゴリのパンくずが表示されないです。

これまでもいろいろと試してみましたが、
これが今のところ一番かなぁ。

と思うので備忘録として残しておきたいと思います。

とても助けてくれたサイト(参考サイト)

アドセンス336pxPC閲覧記事下表示1つ目コード

この記事を読む方へのオススメ

メルカリ招待コード:

具体的な方法です。

function.php内に以下のコードを記載します。

一気に書き込みます。
(上記参考サイトさんのコードそのものだとliやulがあるので出力後に縦表示になってしまう為、ul、liを省いています。)

 

//パンくずリスト表示対象カテゴリをカスタムフィールドに追加追加するコードここから
 add_action('admin_menu', 'add_breadcrumbs_category_meta_box');
 add_action('save_post', 'save_breadcrumbs_category_custom_fields');

 // パンくずリスト用メタボックスの追加
 function add_breadcrumbs_category_meta_box() {
 add_meta_box( 'my_sectionid4', 'パンくずリスト用カテゴリ', 'breadcrumbs_category_custom_fields', 'post', 'advanced' );
 }

 // パンくずリストカテゴリ選択用カスタムフィールドの入力フォーム作成と値の設定
 function breadcrumbs_category_custom_fields() {
 global $post;

 $options = get_the_category($post->ID);
 $n = count($options);

 $radio_field = get_post_meta($post->ID,'_organizer_breadcrumbs_category',true);

 for ($i=0; $i<$n; $i++) {
 $option = $options[$i];
 if ($option -> cat_ID == $radio_field) {
 echo '<input type="radio" name="_organizer_breadcrumbs_category" value="'.esc_html($option->cat_ID).'" checked /> '.$option->cat_name.' ';
 } else {
 echo '<input type="radio" name="_organizer_breadcrumbs_category" value="'.esc_html($option->cat_ID).'" /> '.$option->cat_name.' ';
 }
 }
 }

 // パンくずリスト用カテゴリのカスタムフィールドの保存
 function save_breadcrumbs_category_custom_fields( $post_id ) {

 if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id;

 $meta_key = '_organizer_breadcrumbs_category';

 $meta_value_new = $_POST[$meta_key];

 $meta_value_current = get_post_meta($post_id, $meta_key, true);

 $cats = get_the_category($post_id);
 if(!empty($cats)){
 $meta_value_default = $cats[0]->cat_ID;
 }

 if(!empty($meta_value_current) ){
 update_post_meta($post_id, $meta_key, $meta_value_new);
 }else{
 if(!empty($meta_value_new)){
 update_post_meta($post_id, $meta_key, $meta_value_new);
 }else{
 if(!empty($meta_value_default)){
 update_post_meta($post_id, $meta_key, $meta_value_default);
 }
 }
 }
 }
 //パンくずリスト表示対象カテゴリをカスタムフィールドに追加追加するコードここまで

//パンくずリスト関数
 //パンくずリストを出力する関数
 function breadcrumb(){
 global $post;
 $str ='';
 if(!is_home()&&!is_admin()){
 $str.= '<div id="breadcrumb" class="clearfix">';
 $str.= '';
 $str.= '<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="'. home_url() .'/"><span itemprop="title"><strong>home</strong></span></a>';
 $str.= '&gt;';
 if(is_search()){
 $str.='「'. get_search_query() .'」で検索した結果';
 } elseif(is_tag()){
 $str.='タグ : '. single_tag_title( '' , false ). '';
 } elseif(is_404()){
 $str.='404 Not found';
 } elseif(is_date()){
 if(get_query_var('day') != 0){
 $str.='<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="'. get_year_link(get_query_var('year')). '"><span itemprop="title">' . get_query_var('year'). '年</span></a>';
 $str.='&gt;';
 $str.='<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="'. get_month_link(get_query_var('year'), get_query_var('monthnum')). '"><span itemprop="title">'. get_query_var('monthnum') .'月</span></a>';
 $str.='&gt;';
 $str.=''. get_query_var('day'). '日';
 } elseif(get_query_var('monthnum') != 0){
 $str.='<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="'. get_year_link(get_query_var('year')) .'"><span itemprop="title">'. get_query_var('year') .'年</span></a>';
 $str.='&gt;';
 $str.=''. get_query_var('monthnum'). '月';
 } else {
 $str.=''. get_query_var('year') .'年';
 }
 } elseif(is_category()) {
 $cat = get_queried_object();
 if($cat -> parent != 0){
 $ancestors = array_reverse(get_ancestors( $cat -> cat_ID, 'category' ));
 foreach($ancestors as $ancestor){
 $str.='<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="'. get_category_link($ancestor) .'"><span itemprop="title">'. get_cat_name($ancestor) .'</span></a>';
 $str.='&gt;';
 }
 }
 $str.= '<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><span itemprop="title">'. $cat -> name .'</span>';
 } elseif(is_author()){
 $str .='投稿者 : '. get_the_author_meta('display_name', get_query_var('author')).'';
 } elseif(is_page()){
 if($post -> post_parent != 0 ){
 $ancestors = array_reverse(get_post_ancestors( $post->ID ));
 foreach($ancestors as $ancestor){
 $str.='itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="'. get_permalink($ancestor).'"><span itemprop="title">'. get_the_title($ancestor) .'</span></a>';
 $str.='&gt;';
 }
 }
 $str.= '<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><span itemprop="title">'. $post -> post_title .'</span>';
 } elseif(is_attachment()){
 if($post -> post_parent != 0 ){
 $str.= '<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="'. get_permalink($post -> post_parent).'"><span itemprop="title">'. get_the_title($post -> post_parent) .'</span></a>';
 $str.='&gt;';
 }
 $str.= '<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="'. get_permalink($post -> ID).'"><span itemprop="title">' . $post -> post_title . '</span></a>';
 } elseif(is_single()){
 $cat_ID = get_post_meta($post->ID,'_organizer_breadcrumbs_category', true);
 if($cat_ID){
 $cat = get_category($cat_ID);
 } else {
 $categories = get_the_category($post->ID);
 $cat = $categories[0];
 }
 if($cat -> parent != 0){
 $ancestors = array_reverse(get_ancestors( $cat -> cat_ID, 'category' ));
 foreach($ancestors as $ancestor){
 $str.='<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="'. get_category_link($ancestor).'"><span itemprop="title">'. get_cat_name($ancestor). '</span></a>';
 $str.='&gt;';
 }
 }
 $str.='<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="'. get_category_link($cat -> term_id). '"><span itemprop="title">'. $cat-> cat_name . '</span></a>';
 $str.='&gt;';
 $str.= '<itemscope itemtype="https://data-vocabulary.org/Breadcrumb"><span itemprop="title">'. $post -> post_title .'</span>';
 } else{
 $str.=''. wp_title('', false) .'';
 }
 $str.='';
 $str.='</div>';
 }
 echo $str;
 }
 //パンくずリスト関数ここまで

その後、
パンくずリストを表示したい部分に以下のコードを記載します。

<?php breadcrumb(); ?>

この記載したところに意図して選択したパンくずリストが表示されます。

 

そして、
最後にCSSで調整しました。

#breadcrumb {
 font-size: 13px;
 color: #000
 }

div#breadcrumb a {
 color: #000;
 }

 

最後に、
よくを言うなら親カテゴリとか子カテゴリとかじゃなくて、

選択したカテゴリをすべて順番にすべてパンくずリストに表示したいと思っています。

 

以下のサイトの様に…。

WordPressでも、
選択したカテゴリのすべてがパンくずリストとして表示できるようにならないかなぁ。

もしくは、
そんな方法を見つけるか作りたいなぁ…。

あなたにおすすめ


Multiplex 広告

あなたが訪問してから

0 秒経過 🎉

入学入社まであと…入学入社祝いはどんなPresent(プレゼント)でどのように過ごされますか?

ホワイトデープレゼントは以下などの豊富なキャンペーン商品から選ぶと良いと思います。

ブログサービスが始まってから:


カウントダウンタイマー

おすすめの記事一部広告

Total495


アドセンス336pxPC閲覧記事下表示1つ目コード

目次に戻る

よろしかったらシェアよろしくお願いします。

-WordPress, カスタマイズ, カスタマイズ, 伝えたいこと, 備忘録
-

目次に戻る

目次に戻る


コメントを表示(0)

コメントを書く

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


This site uses Akismet to reduce spam. Learn how your comment data is processed.

新着コメント