概要
woocommerce_breadcrumb_defaults
フィルタは、WooCommerce のパンくずリストのデフォルト設定を変更するために使用されます。このフィルタを利用することで、パンくずリストのセパレーターや、表示するトライルの数を変更することができます。主に以下のような機能を実装する際によく使われます。
- パンくずリストのセパレーターの変更
- パンくずリストに表示するタイトルのカスタマイズ
- 特定のページでのパンくずリストの無効化
- デフォルトのパンくずリストのスタイル変更
- ロケーションに応じた動的なパンくずリストの生成
- 多言語対応のパンくずリストの設定
構文
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 |