概要
woocommerce_get_breadcrumb
フィルタは、WooCommerceでのパンくずリストをカスタマイズするためのフックです。このフィルタを使用することで、デフォルトのパンくずリストの要素を追加、変更、または削除することができます。このフィルタは、特に以下のような機能を実装する際に役立ちます。
- カスタムページタイトルの追加
- SEO対策のための特定のパスの変更
- ナビゲーションの整理
- 特定の商品のパンくずリストをカスタマイズ
- スワッグやプロモーション情報の表示
- ユーザーエクスペリエンスの向上
構文
add_filter('woocommerce_breadcrumb_defaults', 'custom_breadcrumb', 10, 1);
パラメータ
$crumbs
: 現在のパンくずリストの配列
戻り値
- 修正されたパンくずリストの配列
使用可能なプラグインとバージョン
- WooCommerce: 3.0以降
- WordPress: 4.0以降
サンプルコード
1. パンくずリストにカスタムテキストを追加する
add_filter('woocommerce_get_breadcrumb', 'add_custom_breadcrumb', 10, 2);
function add_custom_breadcrumb($crumbs, $breadcrumb) {
$crumbs[] = array('Custom Text', '#');
return $crumbs;
}
このコードは、パンくずリストに「Custom Text」という項目を追加します。特定のページや条件に基づいて情報を追加したい場合に便利です。
引用元: https://www.example.com
2. パンくずリストのデフォルトのホームリンクを変更する
add_filter('woocommerce_get_breadcrumb', 'change_home_link', 10, 2);
function change_home_link($crumbs, $breadcrumb) {
if (!empty($crumbs[0])) {
$crumbs[0][0] = '新しいホーム'; // ホームリンクのテキストを変更
$crumbs[0][1] = '/new-home-url'; // ホームリンクのURLを変更
}
return $crumbs;
}
この例では、パンくずリストの最初の要素であるホームリンクのテキストとURLを変更します。サイトのリニューアル時に便利です。
引用元: https://www.example.com
3. カスタムカテゴリーを追加する
add_filter('woocommerce_get_breadcrumb', 'add_custom_category', 10, 2);
function add_custom_category($crumbs, $breadcrumb) {
if (is_product_category()) {
$crumbs[] = array('カスタムカテゴリー', '#');
}
return $crumbs;
}
このコードは、製品カテゴリーページでパンくずリストに「カスタムカテゴリー」を追加します。特定の条件下での表示に役立ちます。
引用元: https://www.example.com
4. パンくずリストの特定の要素を削除する
add_filter('woocommerce_get_breadcrumb', 'remove_specific_crumb', 10, 2);
function remove_specific_crumb($crumbs, $breadcrumb) {
if (count($crumbs) > 1) {
unset($crumbs[1]); // 特定の位置のパンくずを削除
}
return $crumbs;
}
このサンプルは、パンくずリストの特定の要素(この場合、2つ目の要素)を削除します。不要な情報を取り除きたい場合に役立ちます。
引用元: https://www.example.com
5. パンくずリストの順序を変更する
add_filter('woocommerce_get_breadcrumb', 'change_breadcrumb_order', 10, 2);
function change_breadcrumb_order($crumbs, $breadcrumb) {
// 最後のパンくずを最初に移動
$last_crumb = array_pop($crumbs);
array_unshift($crumbs, $last_crumb);
return $crumbs;
}
このコードは、パンくずリストの最後の要素を最初に移動させて順序を変更します。ナビゲーションの優先順位を調整するのに便利です。
引用元: https://www.example.com
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 |
この表から、woocommerce_get_breadcrumb
フィルタは特定のアクションでは使用されていないことが分かります。