WordPressの無料オリジナルテーマ「Xeory」のご利用ありがとうございます。
Google Search Console上でパンくずリスト部分に構造化データエラーが検出された件につきまして、修正を施したファイルの配布を開始いたしました。
1) 下記のURLからダウンロードをお願いいたします。
https://xeory.jp/download/xeory_bzb_functions.zip
2) ダウンロード後 zipファイルを解凍し、ご利用になっているXeoryテーマファイル内の bzb-functions.phpを置き換えてください。
【ご注意】bzb-functions.php をカスタマイズされている方は、以下の部分だけファイル上で書き換えをお願いいたします。
・修正前
XeoryBase: L.92〜196付近
XeoryExtension: L.82〜180付近
1 2 3 |
if( !function_exists('bzb_breadcrumb') ){ function bzb_breadcrumb(){ |
(中略)
1 2 3 4 5 6 7 8 9 10 |
// その他のページ $bc .= '<li><i class="fa fa-file"></i> '.$post->post_title.'</li>'; } $bc .= '</ol>'; echo $bc; } } |
・修正後(XeoryBase、XeoryExtension 共通)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
if( !function_exists('bzb_breadcrumb') ){ function get_bzb_breadcrumb_listitem($href='', $fa, $name, $position) { $list_item = '<li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement">'; $list_item .= ( $href === '' ) ? '' : '<a itemprop="item" href="' . esc_url($href) . '">'; $list_item .= '<i class="fa fa-' . $fa . '"></i> '; $list_item .= '<span itemprop="name">' . $name . '</span>'; $list_item .= ( $href === '' ) ? '' : '</a>'; $list_item .= '<meta itemprop="position" content="' . $position . '">'; $list_item .= ( $href === '' ) ? '</li>' : ' / </li>'; // hrefが空なら最後のli return $list_item; } function bzb_breadcrumb(){ global $post; // トップページにindex.php || home.phpが使われている場合 if( is_front_page() && is_home() ) { return; } // トップページがfront-page.phpの場合 if( is_front_page() ) return; // ポストタイプを取得 $post_type = get_post_type( $post ); $bc = '<ol class="breadcrumb clearfix" itemscope itemtype="https://schema.org/BreadcrumbList" >'; $bc .= get_bzb_breadcrumb_listitem( home_url(), 'home', 'ホーム', 1 ); $count = 2; if( is_home() ){ // 記事一覧ページ $bc .= get_bzb_breadcrumb_listitem( '', 'list-alt', ' 最新記事一覧', $count ); } elseif( is_search() ) { // 検索結果ページ $bc .= get_bzb_breadcrumb_listitem( '', 'search', ' 「' . get_search_query() . '」の検索結果', $count ); } elseif( is_404() ) { // 404ページ $bc .= get_bzb_breadcrumb_listitem( '', 'question-circle', ' ページが見つかりませんでした', $count ); } elseif( is_date() ) { // 日付別一覧ページ $item_name = ''; if( is_day() ) { $item_name .= get_the_time('Y') . '年 '; $item_name .= get_the_time('n') . '月 '; $item_name .= get_the_time('j') . '日'; } elseif( is_month() ) { $item_name .= get_the_time('Y') . '年 '; $item_name .= get_the_time('n') . '月 '; } elseif( is_year() ) { $item_name .= get_the_time('Y') . '年 '; } $bc .= get_bzb_breadcrumb_listitem( '', 'clock-o', $item_name, $count ); } elseif( is_post_type_archive() ) { // カスタムポストアーカイブ $bc .= get_bzb_breadcrumb_listitem( '', 'pencil-square-o', post_type_archive_title('', false), $count ); } elseif( is_category() ) { // カテゴリーページ $cat = get_queried_object(); if( $cat->parent != 0 ){ $ancs = array_reverse(get_ancestors( $cat->cat_ID, 'category' )); foreach( $ancs as $anc ){ $bc .= get_bzb_breadcrumb_listitem( get_category_link($anc), 'folder', get_cat_name($anc), $count ); $count++; } } $bc .= get_bzb_breadcrumb_listitem( '', 'folder', $cat->cat_name, $count ); } elseif( is_tag() ) { // タグページ $bc .= get_bzb_breadcrumb_listitem( '', 'tag', single_tag_title('', false), $count ); } elseif( is_author() ) { // 著者ページ $bc .= get_bzb_breadcrumb_listitem( '', 'user', get_the_author_meta('display_name'), $count ); } elseif( is_attachment() ) { // 添付ファイルページ if( $post->post_parent != 0 ){ $bc .= get_bzb_breadcrumb_listitem( get_permalink( $post->post_parent ), 'file-text', get_the_title( $post->post_parent ), $count ); $count++; } $bc .= get_bzb_breadcrumb_listitem( '', 'picture-o', $post->post_title, $count ); } elseif( is_singular('post') ) { $cats = get_the_category( $post->ID ); $cat = $cats[0]; if( $cat->parent != 0 ){ $ancs = array_reverse(get_ancestors( $cat->cat_ID, 'category' )); foreach( $ancs as $anc ){ $bc .= get_bzb_breadcrumb_listitem( get_category_link( $anc ), 'folder', get_cat_name($anc), $count ); $count++; } } $bc .= get_bzb_breadcrumb_listitem( get_category_link( $cat->cat_ID ), 'folder', $cat->cat_name, $count++ ); $bc .= get_bzb_breadcrumb_listitem( '', 'file-text', $post->post_title, $count ); } elseif( is_singular('page') ) { // 固定ページ if( $post->post_parent != 0 ){ $ancs = array_reverse( $post->ancestors ); foreach( $ancs as $anc ){ $bc .= get_bzb_breadcrumb_listitem( get_permalink( $anc ), 'file', get_the_title($anc), $count ); $count++; } } $bc .= get_bzb_breadcrumb_listitem( '', 'file', $post->post_title, $count ); } elseif( is_singular( $post_type ) ){ // カスタムポスト記事ページ $obj = get_post_type_object($post_type); if( $obj->has_archive == true ){ $bc .= get_bzb_breadcrumb_listitem( get_post_type_archive_link($post_type), 'pencil-square-o', $obj->label, $count ); $count++; } $bc .= get_bzb_breadcrumb_listitem( '', 'file', $post->post_title, $count ); } else { // その他のページ $bc .= get_bzb_breadcrumb_listitem( '', 'file', $post->post_title, $count ); } $bc .= '</ol>'; echo $bc; } } |
置き換えが必要な bzb-functions.php は、サーバ内の下記にございます。
◎XeoryBaseの場合
/WordPressがインストールされているディレクトリ/ wp-content / themes / xeory_base / lib / functions / bzb-functions.php
◎XeoryExtensionの場合
/WordPressがインストールされているディレクトリ/ wp-content / themes / xeory_extension / lib / functions / bzb-functions.php
【ご注意】作業を行っていただく前にFTPツール等で現在のテーマファイルを複製し、必ずバックアップを残してください。
ご不明な点については、Xeoryフォーラムにてお気軽にご質問ください。
ただし、カスタマイズされているサイトにつきましては、個別の回答が難しい場合がございますのでご了承ください。