概要
woocommerce_breadcrumb
フィルタは、WooCommerce のパンくずリスト(ブレッドクラム)をカスタマイズするためのフックです。このフィルタを使用することで、表示されるパンくずリストの内容や構造を変更したり、特定の条件に基づいてカスタマイズすることができます。
よく使われる機能には以下のようなものがあります:
- パンくずリストの要素を追加または削除する
- パンくずリストの言語やテキストを翻訳する
- 特定のページで異なるパンくずリストを表示する
- CSS クラスを追加してデザインをカスタマイズする
- 特定の条件に基づいてリンクを無効化する
- パンくずリストの階層構造を変更する
構文
フィルタの構文は以下の通りです。
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クラスを追加します。
引用元:なし