概要
フィルターフック woocommerce_structured_data_breadcrumblist
は、WooCommerce プラグイン内での構造化データにおけるパンくずリスト(Breadcrumb List)の生成をカスタマイズするために使用されます。これにより、検索エンジンやソーシャルメディアプラットフォームがウェブサイトのコンテンツをより適切に理解し、表示することが可能になります。このフィルタは、デフォルトのパンくずリスト構造を修正したい場合や、特定のページや商品のコンテンツに合わせたカスタマイズを行いたい場合に特に便利です。
使用する機能
このフィルタは、以下のような機能を実装する際によく使われます:
1. SEO最適化
2. 企業ブランディングの強化
3. ユーザビリティ向上
4. ページのトラッキング向上
5. リッチスニペットの生成
6. カスタム投稿タイプのサポート
構文
add_filter('woocommerce_structured_data_breadcrumblist', 'custom_breadcrumb_list');
パラメータ
$breadcrumb
: 変更するパンくずリストの配列。
戻り値
- 変更されたパンくずリストの配列。
互換性
- WooCommerce バージョン: 3.0以上
- WordPress バージョン: 4.0以上
サンプルコード
サンプルコード1
add_filter('woocommerce_structured_data_breadcrumblist', 'modify_breadcrumb_list');
function modify_breadcrumb_list($breadcrumb) {
$breadcrumb[] = array(
'@id' => 'https://example.com/custom-page',
'name' => 'カスタムページ',
);
return $breadcrumb;
}
// このコードは、パンくずリストにカスタムページを追加しています。
サンプルコード2
add_filter('woocommerce_structured_data_breadcrumblist', 'change_breadcrumb_structure');
function change_breadcrumb_structure($breadcrumb) {
if (is_product()) {
// 商品ページの場合に特定の項目を変更
$breadcrumb[1]['name'] = '特別な商品';
}
return $breadcrumb;
}
// このコードは、商品ページにおけるパンくずリストの項目名を変更しています。
サンプルコード3
add_filter('woocommerce_structured_data_breadcrumblist', 'add_home_to_breadcrumb');
function add_home_to_breadcrumb($breadcrumb) {
array_unshift($breadcrumb, array(
'@id' => home_url('/'),
'name' => 'ホーム'
));
return $breadcrumb;
}
// このコードは、パンくずリストの最初に「ホーム」を追加しています。
サンプルコード4
add_filter('woocommerce_structured_data_breadcrumblist', 'add_product_category_to_breadcrumb');
function add_product_category_to_breadcrumb($breadcrumb) {
if (is_product()) {
global $post;
$terms = get_the_terms($post->ID, 'product_cat');
if ($terms && !is_wp_error($terms)) {
foreach ($terms as $term) {
$breadcrumb[] = array(
'@id' => get_term_link($term),
'name' => $term->name,
);
}
}
}
return $breadcrumb;
}
// このコードは、商品ページにカテゴリをパンくずリストに追加します。
サンプルコード5
add_filter('woocommerce_structured_data_breadcrumblist', 'modify_breadcrumb_for_special_category');
function modify_breadcrumb_for_special_category($breadcrumb) {
if (is_product_category('特別カテゴリ')) {
$breadcrumb[0]['name'] = '特別カテゴリページ';
}
return $breadcrumb;
}
// このコードは、特定のカテゴリページにおけるパンくずリストの項目名を変更します。
この関数のアクションでの使用可能性
アクション | 使用可 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |