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

概要

bcn_breadcrumb_trail_objectフィルタは、WordPressのBreadcrumb NavXTプラグインにおいて、パンくずリストのトレイルオブジェクトを操作するために使用されるフックです。このフィルタを使用することで、パンくずリストの表示内容をカスタマイズしたり、特定の条件に応じた変更が可能になります。以下のような機能を実装する際によく使われます。

  1. パンくずリストの項目の追加または削除
  2. カスタムポストタイプ用の特別なパンくず項目の設定
  3. ユーザーのロールに応じたパンくずリストの表示
  4. 特定のカテゴリーやタグに関連するパンくずのカスタマイズ
  5. テーマによるスタイリングの調整
  6. SEO向けに構造化データを追加する

構文

apply_filters( 'bcn_breadcrumb_trail_object', $trail );

パラメータ

  • $trail: Breadcrumb Trailオブジェクト。これに対して変更を加えることができます。

戻り値

  • フィルタを通った後のBreadcrumTrailオブジェクト。

使用可能なバージョン

  • 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: カスタムパンくず項目の追加

add_filter('bcn_breadcrumb_trail_object', 'add_custom_breadcrumb_item');

function add_custom_breadcrumb_item($trail) {
    if (is_home()) {
        $trail->add(new bcn_breadcrumb('ホーム', home_url()));
    }
    return $trail;
}

このコードは、ブログのホームページに「ホーム」というパンくず項目を追加します。

サンプルコード2: カスタムポストタイプ用の項目変更

add_filter('bcn_breadcrumb_trail_object', 'modify_breadcrumb_for_custom_post_type');

function modify_breadcrumb_for_custom_post_type($trail) {
    if (is_singular('custom_post_type')) {
        $trail->add(new bcn_breadcrumb('カスタムポスト', 'カスタムポストへのURL'));
    }
    return $trail;
}

このコードは、カスタムポストタイプのシングルページで新しいパンくず項目を追加します。

サンプルコード3: 特定のユーザーに基づくパンくずリストの調整

add_filter('bcn_breadcrumb_trail_object', 'adjust_breadcrumb_for_user_role');

function adjust_breadcrumb_for_user_role($trail) {
    if (current_user_can('administrator')) {
        $trail->add(new bcn_breadcrumb('管理者専用エリア', '管理者専用エリアのURL'));
    }
    return $trail;
}

このコードは、管理者ユーザー用に特別なパンくず項目を追加します。

サンプルコード4: カテゴリー別のパンくずリスト

add_filter('bcn_breadcrumb_trail_object', 'customize_breadcrumb_for_category');

function customize_breadcrumb_for_category($trail) {
    if (is_category()) {
        $trail->add(new bcn_breadcrumb('カテゴリページ', 'カテゴリページのURL'));
    }
    return $trail;
}

このコードは、カテゴリーアーカイブページに特別なパンくず項目を追加します。

サンプルコード5: SEO用に構造化データの追加

add_filter('bcn_breadcrumb_trail_object', 'add_schema_markup_to_breadcrumbs');

function add_schema_markup_to_breadcrumbs($trail) {
    $trail->set_schema('#breadcrumblist');
    return $trail;
}

このコードは、SEOを考慮してパンくずリストに構造化データのスキーマを追加します。

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


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