Loading…

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

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

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

パンくずリスト

所要時間目安:7

This session is using  IPv4  is established in

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

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

  • 本日
  • 週間
  • 月間
  1. 年末年始渋滞予想

    年末年始の渋滞予測・渋滞予想は、名神・東名は1月2日、3日がピークで55km…。 2PV

    さてさてもうそろそろ、年末年始の帰省ラッシュ時期に近づいてきました。年に幾度となくこの帰省ラッシュという言葉が踊るのでしょうか。 まずは今回のように年末年始、そして夏のお盆時期の会社が夏休みの時期が大…

    もっと読む

  2. 間違いメールと迷惑メールとフィッシング詐欺メール判断方法

    免責事項 2PV

    免責事項当サイトを利用することで発生した損失や損害・その他トラブルに関しては一切の責任を負いかねます。あらかじめご了承くださいますようお願いいたします。 掲載しているコンテンツの内容が間違っている場合…

    もっと読む

  3. スマホファースト

    スマホファースト用にStinger6Stinger7をカスタマイズ 2PV

    WordPressはカスタマイズ性が優れているのは周知の事実だと思います。function.php内にしていする関数?などによっていろいろな事が出来るようになります。 また、テーマによってカスタマイズ…

    もっと読む

  1. カーナビテレビが見れなくなったICカードが正常に動作しませんでした

    ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法 74PV

    本日ではなく昨日になってしまいますが、それまでカーナビで地デジ対応のナビで突然エンジンをかけなおしたら・・・・・・。 「ICカードが正常に動作しませんでした。販売店にお問い合わせください。」 なんてい…

    もっと読む

  2. エンジンスターターリモコン

    カーメイトのエンジンスターターでエラー15表示と対処方法 26PV

    夏冬に特に重宝するのが、エンジンスターターです。 メーカーはCARMATEやCOMTECユピテルなど各社ありますが、一番のオススメはリモコンから多くの情報を得ることができるカーメイト製品です。 なぜか…

    もっと読む

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

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

    もっと読む

  1. カーナビテレビが見れなくなったICカードが正常に動作しませんでした

    ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法 74PV

    本日ではなく昨日になってしまいますが、それまでカーナビで地デジ対応のナビで突然エンジンをかけなおしたら・・・・・・。 「ICカードが正常に動作しませんでした。販売店にお問い合わせください。」 なんてい…

    もっと読む

  2. エンジンスターターリモコン

    カーメイトのエンジンスターターでエラー15表示と対処方法 26PV

    夏冬に特に重宝するのが、エンジンスターターです。 メーカーはCARMATEやCOMTECユピテルなど各社ありますが、一番のオススメはリモコンから多くの情報を得ることができるカーメイト製品です。 なぜか…

    もっと読む

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

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

    もっと読む

目次に行く・戻る

メルカリ招待コード:

パンくずリスト

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;
 }

 

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

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

 

以下のサイトの様に…。

えー、ほんとにどうしたの?というくらいLEDにこだわり始めている私です…。先日、ヴァレンティ製LEDフォグに替えたのですが、照射位置と発光量(光束)が今一に思えてなりませんでした。≫フォグLED化にヴァレンティ製ジュエルフォグバルブLDJ11

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

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

あなたにおすすめな関連記事

カテゴリの人気記事一覧画像

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

カテゴリの人気記事を表示する方法

  記事を読んで頂いていて該当記事を読み終わった後に、同じカテゴリーに属する人気記事を表示する方法です。 せっかく訪問して頂いて記事を読んでもらった後に同じカテゴリー内で人気のある記事が表示…

もっと読む

インフィード広告アドセンス

WordPress日本語化

WordPress アップグレード 伝えたいこと 備忘録

WordPressを日本語化する方法と設定は実は1秒でできる…。

先日(昨日)WordPressのバージョンをやっとこさ4.5.2の最新版にしました。なぜか?それは一番はセキュリティ上の問題の解消ですが、他にもサイトのページ表示速度が、もしかしたら速くなるかもなんて…

もっと読む

インフィード広告アドセンス

インターネット セキュリティ 伝えたいこと 備忘録 時事ネタ

三井住友銀行から【必ずご確認ください】「入出金規制」メール・SMSは詐欺です。メール

先日、三井住友銀行からメールにて上記タイトル「【必ずご確認ください】「入出金規制」メール・SMSは詐欺です」というメールが送信されてきました。SMSは送られてきていませんが、SMSにもどうやら同様の内…

もっと読む

インフィード広告アドセンス

アクセス数

備忘録

アクセス数が増加しない。アクセス数を増加させるには…。

 当ブログを主としてはじめて概ね1ヶ月半程度が経ちました。しかし、 以前のブログに比べてアクセス数は1/10以下程度です。 ちょっと寂しいですが、 それが現状では現実・事実です…。…

もっと読む

インフィード広告アドセンス

純国産ブラウザKinza

PC インターネット ブラウザChrome 伝えたいこと 備忘録

国産Webブラウザ「Kinza3.2.0」の最新版リリースでMacにも対応

2年くらい前に純国産ブラウザにとても安心できる「Kinza」というweb(ウェブ)ブラウザがあることを知りました。その後、順調に進化し続けて6月15日に最新版の「Kinza」がリリースされたようです。…

もっと読む

インフィード広告アドセンス

見出しタグ挿入方法

WordPress 不具合

WordPressビジュアルエディタで見出しタグが挿入できない場合の対象方法

WordPressにて、 ブログを始めたのはここ数日前です。 しかし、 WordPressのビジュアルエディタにて、 見出しタグの挿入時に範囲選択した場所以外も見出しタグが挿入されてしまう。 という現…

もっと読む

WordPress, カスタマイズ, カスタマイズ, 伝えたいこと, 備忘録」同じカテゴリーの記事一覧

おすすめの記事一部広告

お小遣い稼ぎにアンケート。

Multiplex 広告

Total197


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

目次に戻る

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

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

目次に戻る

目次に戻る


コメントを閉じる

comment

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

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

You may choose to prevent this website from aggregating and analyzing the actions you take here. Doing so will protect your privacy, but will also prevent the owner from learning from your actions and creating a better experience for you and other users.