プラグインWooCommerceのwoocommerce_get_breadcrumbフィルタの使用方法・解説

概要

woocommerce_get_breadcrumbフィルタは、WooCommerceでのパンくずリストをカスタマイズするためのフックです。このフィルタを使用することで、デフォルトのパンくずリストの要素を追加、変更、または削除することができます。このフィルタは、特に以下のような機能を実装する際に役立ちます。

  1. カスタムページタイトルの追加
  2. SEO対策のための特定のパスの変更
  3. ナビゲーションの整理
  4. 特定の商品のパンくずリストをカスタマイズ
  5. スワッグやプロモーション情報の表示
  6. ユーザーエクスペリエンスの向上

構文

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フィルタは特定のアクションでは使用されていないことが分かります。

この関数について質問する


上の計算式の答えを入力してください