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

概要

bcn_add_post_type_argフィルタは、WordPressのプラグインBreadcrumb NavXTにおいて、カスタム投稿タイプのパンくずリストの表示に関連する引数を追加するために使用されます。このフィルタは、特定の投稿タイプに関連する情報をパンくずに加えることで、表示されるナビゲーションをカスタマイズする際に便利です。以下に、このフィルタがよく使われる機能をいくつか挙げます。

  1. カスタム投稿タイプの追加情報の表示
  2. 投稿のメタデータをパンくずに含める
  3. SBreadcrumbNavXTの言語設定を対応させる
  4. 投稿タイプごとの特定の条件を設定する
  5. 特定のテンプレートを使用したナビゲーションの変更
  6. SEO対応のためのパンくずリストの改良

構文

add_filter('bcn_add_post_type_arg', 'your_function_name', 10, 2);

パラメータ

  • $args: 現在の投稿タイプの引数の配列
  • $post_type: 投稿タイプの名前

戻り値

  • 引数 $args の配列が返され、変更が反映されます。

使用可能なプラグインのバージョン

  • Breadcrumb NavXT: 6.5.0 以降
  • WordPress: 5.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: カスタム投稿タイプの追加情報を含める

function custom_bcn_add_post_type_arg($args, $post_type) {
    if ($post_type === 'custom_post') {
        $args['description'] = 'カスタム投稿の説明';
    }
    return $args;
}
add_filter('bcn_add_post_type_arg', 'custom_bcn_add_post_type_arg', 10, 2);

このサンプルは、カスタム投稿タイプ「custom_post」に説明を追加します。

サンプル2: 特定のパンクズリスト用にアイコンを追加

function add_icon_to_breadcrumb($args, $post_type) {
    if ($post_type === 'news') {
        $args['icon'] = '<i class="fas fa-newspaper"></i>';
    }
    return $args;
}
add_filter('bcn_add_post_type_arg', 'add_icon_to_breadcrumb', 10, 2);

このサンプルは、投稿タイプ「news」にアイコンを追加し、表示形式をカスタマイズします。

サンプル3: SEO用の特定のクラスを付与

function seo_class_breadcrumb($args, $post_type) {
    if ($post_type === 'portfolio') {
        $args['class'] = 'breadcrumb-portfolio';
    }
    return $args;
}
add_filter('bcn_add_post_type_arg', 'seo_class_breadcrumb', 10, 2);

このサンプルは、「portfolio」型の投稿に独自のクラスを追加します。

サンプル4: 複数のパラメータを追加

function custom_breadcrumb_parameters($args, $post_type) {
    if ($post_type === 'products') {
        $args['show_price'] = true;
        $args['custom_field'] = get_post_meta(get_the_ID(), 'custom_meta', true);
    }
    return $args;
}
add_filter('bcn_add_post_type_arg', 'custom_breadcrumb_parameters', 10, 2);

このサンプルでは、「products」投稿タイプに価格情報とカスタムフィールドを追加します。

サンプル5: 言語に応じたパンくずリストのテキスト変更

function translate_breadcrumb_text($args, $post_type) {
    if ($post_type === 'events') {
        $args['text'] = __('イベント', 'text-domain');
    }
    return $args;
}
add_filter('bcn_add_post_type_arg', 'translate_breadcrumb_text', 10, 2);

このサンプルでは、「events」投稿タイプのテキストを翻訳します。

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


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