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

概要

bcn_admin_post_root_args フィルタは、WordPressプラグイン Breadcrumb NavXTに関連するフィルタで、管理画面のポスト設定におけるルート引数のカスタマイズを行います。このフィルタを使用することにより、投稿やページのパンくずリストの出力を管理しやすくすることができます。一般的に、このフィルタは以下のような機能を実装する際によく使われます。

  1. 特定の投稿タイプに対するカスタム設定の追加
  2. 特定の条件に基づくパンくずリストの表示制御
  3. タクソノミー情報の拡張
  4. メタデータの追加や変更
  5. ユーザーの権限に基づく表示制御
  6. 言語の切り替えやローカライズの調整

構文

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

パラメータ

  • $args (array): パンくずリストのルート引数。
  • $post (object): 現在の投稿オブジェクト。

戻り値

  • (array): 更新された引数。

バージョン

  • Breadcrumb NavXT: 6.5.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_admin_post_root_args', 'add_custom_post_type_args', 10, 2);
function add_custom_post_type_args($args, $post) {
    if ($post->post_type == 'your_custom_post_type') {
        $args['custom_arg'] = 'value';
    }
    return $args;
}

このサンプルは、カスタム投稿タイプで特定のルート引数を追加します。

サンプル2: タクソノミー情報を変更する

add_filter('bcn_admin_post_root_args', 'modify_taxonomy_info', 10, 2);
function modify_taxonomy_info($args, $post) {
    if (in_category('your-category', $post)) {
        $args['taxonomy'] = 'modified_taxonomy';
    }
    return $args;
}

このサンプルは、特定のカテゴリーに属するときにタクソノミー情報を変更します。

サンプル3: ユーザー権限に基づく表示の制御

add_filter('bcn_admin_post_root_args', 'control_display_based_on_role', 10, 2);
function control_display_based_on_role($args, $post) {
    if (!current_user_can('edit_posts')) {
        unset($args['restricted_arg']);
    }
    return $args;
}

このサンプルは、ユーザーが投稿を編集できない場合に特定の引数を削除します。

サンプル4: 条件に応じた引数の変更

add_filter('bcn_admin_post_root_args', 'conditional_root_args_modification', 10, 2);
function conditional_root_args_modification($args, $post) {
    if (is_single($post->ID)) {
        $args['single_view'] = true;
    }
    return $args;
}

このサンプルは、単一投稿ページである場合に特定の引数を追加します。

サンプル5: 多言語対応の引数を追加

add_filter('bcn_admin_post_root_args', 'add_multilingual_support', 10, 2);
function add_multilingual_support($args, $post) {
    $args['language'] = 'ja';
    return $args;
}

このサンプルは、多言語対応のために言語情報を追加します。

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


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