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

概要

woocommerce_breadcrumb_defaults フィルタは、WooCommerce のパンくずリストのデフォルト設定を変更するために使用されます。このフィルタを利用することで、パンくずリストのセパレーターや、表示するトライルの数を変更することができます。主に以下のような機能を実装する際によく使われます。

  1. パンくずリストのセパレーターの変更
  2. パンくずリストに表示するタイトルのカスタマイズ
  3. 特定のページでのパンくずリストの無効化
  4. デフォルトのパンくずリストのスタイル変更
  5. ロケーションに応じた動的なパンくずリストの生成
  6. 多言語対応のパンくずリストの設定

構文

add_filter( 'woocommerce_breadcrumb_defaults', 'custom_breadcrumb_defaults' );
function custom_breadcrumb_defaults( $defaults ) {
    // ここに変更を加える
    return $defaults;
}

パラメータ

  • $defaults: デフォルトのパンくずリストの設定が含まれる配列。

戻り値

  • 変更後のパンくずリストの設定を含む配列。

WooCommerce のバージョン

  • WooCommerce のバージョン 2.1.0以降で使用可能。

WordPress のバージョン

  • WordPress バージョン 4.0以降で使用可能。

サンプルコード

サンプルコード1: パンくずリストのセパレーターの変更

add_filter( 'woocommerce_breadcrumb_defaults', 'change_breadcrumb_separator' );
function change_breadcrumb_separator( $defaults ) {
    $defaults['separator'] = ' / '; // デフォルトは「>」ですが、ここではスラッシュに変更
    return $defaults;
}

このコードは、パンくずリストにおけるセパレーターを「>」から「 / 」に変更します。

サンプルコード2: パンくずリストのホームタイトルを変更

add_filter( 'woocommerce_breadcrumb_defaults', 'change_home_title' );
function change_home_title( $defaults ) {
    $defaults['home'] = 'トップページ'; // ホームのタイトルを「トップページ」に変更
    return $defaults;
}

このコードは、パンくずリストの「ホーム」部分のタイトルを「トップページ」に変更します。

サンプルコード3: 特定のページでパンくずリストを非表示にする

add_filter( 'woocommerce_breadcrumb_defaults', 'hide_breadcrumb_on_specific_page' );
function hide_breadcrumb_on_specific_page( $defaults ) {
    if ( is_page( 'about' ) ) { // ページスラッグが「about」の場合
        $defaults['wrap_before'] = ''; // パンくずリストを出力しない
        $defaults['wrap_after'] = '';
    }
    return $defaults;
}

このコードは、特定のページ(「about」)でパンくずリストを表示しないように設定します。

サンプルコード4: パンくずリストのスタイルを変更

add_filter( 'woocommerce_breadcrumb_defaults', 'custom_breadcrumb_styling' );
function custom_breadcrumb_styling( $defaults ) {
    $defaults['wrap_before'] = '<nav class="custom-breadcrumb">';
    $defaults['wrap_after'] = '</nav>';
    return $defaults;
}

このコードは、パンくずリストをラップする HTML タグをカスタマイズし、独自のスタイルを適用するためのクラスを追加します。

サンプルコード5: 多言語対応のパンくずリストの設定

add_filter( 'woocommerce_breadcrumb_defaults', 'multilingual_breadcrumb_title' );
function multilingual_breadcrumb_title( $defaults ) {
    if ( isset( $_GET['lang'] ) && $_GET['lang'] === 'ja' ) {
        $defaults['home'] = 'ホーム'; // 日本語の場合のホームタイトル
    } else {
        $defaults['home'] = 'Home'; // その他の言語の場合のホームタイトル
    }
    return $defaults;
}

このコードは、言語に応じてパンくずリストの「ホーム」タイトルを変更します。

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

アクション名 使用例
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

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


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