プラグインBreadcrumb NavXTのbcn_breadcrumb_templateフィルタの使用方法・解説

概要

bcn_breadcrumb_templateフィルタは、WordPressのプラグイン「Breadcrumb NavXT」において、パンくずリストの表示内容をカスタマイズするためのフックです。このフィルタを使用することで、パンくずリストのテンプレートを変更したり、自分のデザインに合わせた出力を実現することができます。具体的には、以下のような機能を実装する際に便利です。

  1. パンくずリストのHTML構造を変更する
  2. カスタム投稿タイプやカテゴリーの表示名を編集する
  3. 各項目にカスタムクラスを追加する
  4. 特定ページでのパンくずリストの非表示や表示内容の変更
  5. SEO対策のためのマークアップの調整
  6. 多言語対応のための言語ごとの表示内容を変更する

構文

フィルタの基本的な構文は次の通りです。

add_filter('bcn_breadcrumb_template', 'custom_breadcrumb_template', 10, 1);

パラメータ

  • $template: 変更前のパンくずリストのHTMLテンプレート。この内容をフィルタで変更したものが戻り値として返されます。

戻り値

  • 変更されたパンくずリストのHTMLテンプレート。

対応バージョン

  • Breadcrumb NavXT: バージョン6.0.0以上
  • WordPress: バージョン4.0以上

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

アクション 使用例
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: パンくずリストのHTMLを変更

add_filter('bcn_breadcrumb_template', 'custom_breadcrumb_template', 10, 1);
function custom_breadcrumb_template($template) {
    return '<nav class="my-custom-breadcrumb">' . $template . '</nav>';
}

このコードは、パンくずリストのHTMLを新しい<nav>要素で囲むことで、スタイリングやアクセシビリティを向上させます。

サンプル2: カスタムクラスの追加

add_filter('bcn_breadcrumb_template', 'add_custom_class_to_breadcrumb', 10, 1);
function add_custom_class_to_breadcrumb($template) {
    return str_replace('<li>', '<li class="custom-class">', $template);
}

このコードは、各パンくずリスト項目にcustom-classというCSSクラスを追加します。これにより、スタイリングの自由度が増します。

サンプル3: 特定ページ用の表示内容変更

add_filter('bcn_breadcrumb_template', 'conditional_breadcrumb_template', 10, 1);
function conditional_breadcrumb_template($template) {
    if (is_page('特定のページスラッグ')) {
        return '<div class="custom-breadcrumb">カスタムメッセージ</div>';
    }
    return $template;
}

このコードは、特定のページに訪れた際にカスタムメッセージを含むパンくずリストを表示します。任意のページに独自のパンくずリストを設置可能です。

サンプル4: SEOのためのマークアップ調整

add_filter('bcn_breadcrumb_template', 'seo_friendly_breadcrumb', 10, 1);
function seo_friendly_breadcrumb($template) {
    return str_replace('<li>', '<li itemscope itemtype="http://schema.org/ListItem">', $template);
}

このコードは、SEOに適したMicrodata(スキーマ)を追加することで、検索エンジンに対するパンくずリストの情報を強化します。

サンプル5: 多言語プラグイン対応

add_filter('bcn_breadcrumb_template', 'multilang_breadcrumb_template', 10, 1);
function multilang_breadcrumb_template($template) {
    $current_lang = apply_filters('wpml_current_language', NULL);
    if ($current_lang === 'ja') {
        return str_replace('Home', 'ホーム', $template);
    }
    return $template;
}

このコードは、WPMLを使用している場合に、パンくずリストの「Home」を「ホーム」に置き換えます。多言語サイトでの表示に適応させることができます。

引用元のページは指定されていませんが、サンプルコードは一般的なWordPressの開発者向けチュートリアルを参考にしており、さまざまなプラグインの公式ドキュメントなどで類似の例を見つけることができます。

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


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