スタッフのきまぐれブログ

スタッフブログ

パンくずプラグイン「Prime Strategy Bread Crumb」、カスタム投稿アーカイブへのリンクをカスタム分類にも表示してみた。

wordpressのパンくずプラグイン「Prime Strategy Bread Crumb」Google検索結果ページでもパンくずリストを表示する「microdata」化
もしっかりできて
便利なのだが、トップページとカスタム分類で作ったタームのリンクの間に、カスタム投稿アーカイブページか固定ページをはさみたい。

あ、「microdata」化の方法は→ Googleの検索結果ページでパンくずリストを表示する「Prime Strategy Bread Crumb」編 が参考になります。

通常の使用

投稿ページ

トップページ > 親カテゴリ > 子カテゴリ > 孫カテゴリ > 表示中の投稿名

カテゴリページ

トップページ > 親カテゴリ > 子カテゴリ > 表示中の孫カテゴリ

親子関係のある固定ページ

トップページ > 親ページ > 表示中の子固定ページ

カスタム投稿タイプ投稿ページ

トップページ > 親ターム > 子ターム > 表示中のカスタム投稿の記事

カスタム分類のターム(カテゴリ)

トップページ > 親ターム > 子ターム

やりたいこと

カスタム投稿タイプの投稿ページ

トップページ > カスタム投稿アーカイブ(または固定ページ) > 親ターム > 子ターム > 表示中のカスタム投稿の記事

カスタム分類のターム(カテゴリ)

トップページ > カスタム投稿アーカイブ(または固定ページ) >親ターム > 子ターム

 

カスタマイズ方法

とりあえず、カスタム投稿タイプのパーマリンクをカスタム設定「Custom Post Type Permalinks」を導入。

カスタム分類のアーカイブのパーマリンクを変更する。にチェックいれて変更。

 

 

カスタム投稿アーカイブへのリンクが投稿(シングルページ)でしか表示されない。。。

カスタム分類の各カテゴリにも表示したかったのでやってみました。

 

プラグインを編集

方法1

prime-strategy-bread-crumb.phpの170行目あたりに

} elseif ( is_tax() ) {
$post_type = get_post_type_object( $post->post_type );
if ( $post_type ) {$bread_crumb_arr[] = array( ‘title’ => sprintf( $args[‘post_type_label’], $post_type->label ), ‘link’ => get_post_type_archive_link( $post_type->name ) );}
$taxonomy = get_query_var( ‘taxonomy’ );
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), $taxonomy );
if ( is_taxonomy_hierarchical( $taxonomy ) && $term->parent != 0 ) {

を追加。※ただし、タームに投稿がある場合のみ有効。分類追加しても触らなくていいから楽。

方法2 カスタム分類を指定

} elseif ( is_tax() ) {
if ( is_tax(‘カスタム分類) ) {
$bread_crumb_arr[] = array( ‘title’ => ‘カスタム投稿名or固定ページ‘, ‘link’ => esc_url( home_url( ‘/カスタム投稿アーカイブスラッグor固定ページスラッグ/’ ) ) );
}
$taxonomy = get_query_var( ‘taxonomy’ );
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), $taxonomy );
if ( is_taxonomy_hierarchical( $taxonomy ) && $term->parent != 0 ) {

※この方法なら固定ページも挟めるー

カスタム投稿タイプの投稿ページにも固定ページのパンくずを挟みたいときは259行目付近の

$post_type = get_post_type_object( $post->post_type );

if ( $post_type && $post_type->has_archive ) {
$bread_crumb_arr[] = array( ‘title’ => sprintf( $args[‘post_type_label’], $post_type->label ), ‘link’ => get_post_type_archive_link( $post_type->name ) );
}

を編集。

$bread_crumb_arr[] = array( ‘title’ => ‘カスタム投稿名or固定ページ‘, ‘link’ => esc_url( home_url( ‘/カスタム投稿アーカイブスラッグor固定ページスラッグ/’ ) ) );

他にいい方法あったら誰か教えてください。。。functions.php使う感じで。。。

 

Trackback URL

いいサイトを、出来るだけ安く、誠心誠意でお応えします。

ウェブディレクター   米崎 隆行 ヨネザキ タカユキ

滋賀県からホームページ制作・作成!ウェブフォーアートロゴ 株式会社ニチザイ IT事業部ウェブフォーアート http://nihonjinzai.co.jp/

Google+

HP作成に関する作業の代行業

ホームページ作成|WEBデザイン|ウェブシステム構築|ネットショップサポート|制作

電話受付:12:00~18:00

営業時間:9:00~18:00

休日:土日・祝

〒525-0032 滋賀県 草津市大路 1-1-1 Lty932 5F

Tel: 077-564-4699Fax: 077-564-3349Mail: hp@webforart.net

comment
パンくずプラグイン「Prime Strategy Bread Crumb」、カスタム投稿アーカイブへのリンクをカスタム分類にも表示してみた。” への2件のコメント

  1. 同じ状態でずっと悩んでいましたが、たまたまこちらのブログを見つけました。
    参考にさせていただき(というかほぼコピペですが)無事解決できました!
    ありがとうございました!!

コメントを残す

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

滋賀県でホームページ制作ならウェブフォーアート ページトップへ
MENU