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

概要

woocommerce_breadcrumb フィルタは、WooCommerce のパンくずリスト(ブレッドクラム)をカスタマイズするためのフックです。このフィルタを使用することで、表示されるパンくずリストの内容や構造を変更したり、特定の条件に基づいてカスタマイズすることができます。

よく使われる機能には以下のようなものがあります:

  1. パンくずリストの要素を追加または削除する
  2. パンくずリストの言語やテキストを翻訳する
  3. 特定のページで異なるパンくずリストを表示する
  4. CSS クラスを追加してデザインをカスタマイズする
  5. 特定の条件に基づいてリンクを無効化する
  6. パンくずリストの階層構造を変更する

構文

フィルタの構文は以下の通りです。

add_filter('woocommerce_breadcrumb', 'custom_breadcrumb_function', 10, 1);

パラメータ

  • $crumbs: パンくずリストの配列

戻り値

  • 変更されたパンくずリストの配列

使用可能なプラグインとバージョン

  • WooCommerce バージョン: どのバージョンからでも使用可能
  • WordPress バージョン: どのバージョンからでも使用可能

この関数のアクションでの使用可能性

アクション 使用可能性
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

サンプルコード

サンプルコード1

add_filter('woocommerce_breadcrumb', 'custom_breadcrumb_add_category', 10, 1);

function custom_breadcrumb_add_category($crumbs) {
    if (is_product_category()) {
        $crumbs[] = array('name' => 'カテゴリー', 'url' => '/category');
    }
    return $crumbs;
}

このコードは、商品カテゴリーのページにアクセスした際に「カテゴリー」というパンくずリストの要素を追加します。

引用元:なし

サンプルコード2

add_filter('woocommerce_breadcrumb', 'custom_breadcrumb_translations', 10, 1);

function custom_breadcrumb_translations($crumbs) {
    foreach ($crumbs as &$crumb) {
        if ($crumb[0] === 'Shop') {
            $crumb[0] = '店舗';
        }
    }
    return $crumbs;
}

このコードは、パンくずリストに表示される「Shop」を「店舗」に翻訳しています。

引用元:なし

サンプルコード3

add_filter('woocommerce_breadcrumb', 'custom_breadcrumb_home_link', 10, 1);

function custom_breadcrumb_home_link($crumbs) {
    array_unshift($crumbs, array('name' => 'ホーム', 'url' => home_url()));
    return $crumbs;
}

このコードは、パンくずリストの最初に「ホーム」リンクを追加します。

引用元:なし

サンプルコード4

add_filter('woocommerce_breadcrumb', 'custom_breadcrumb_disable_links', 10, 1);

function custom_breadcrumb_disable_links($crumbs) {
    if (is_product()) {
        foreach ($crumbs as &$crumb) {
            $crumb[1] = ''; // リンクを無効化
        }
    }
    return $crumbs;
}

このコードは、商品ページにおいてパンくずリストのリンクを無効化します。

引用元:なし

サンプルコード5

add_filter('woocommerce_breadcrumb', 'custom_breadcrumb_css_class', 10, 1);

function custom_breadcrumb_css_class($crumbs) {
    foreach ($crumbs as &$crumb) {
        $crumb[0] = '<span class="my-custom-class">' . $crumb[0] . '</span>';
    }
    return $crumbs;
}

このコードは、パンくずリストの各要素にカスタムCSSクラスを追加します。

引用元:なし

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


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