概要
cptui_below_taxonomy_select
フィルタは、WordPressのCustom Post Type UIプラグインで使用される特別なフックで、カスタムタクソノミーの選択肢を変更または追加する際に利用されます。このフィルタは、特定のタクソノミーの選択メニューの直下で適用され、開発者がカスタム選択肢を提供することを可能にします。
このフィルタは、次のようなシナリオでよく利用されます。
- 特定のカスタムタクソノミーに対して条件付きのオプションを提供する。
- 階層型タクソノミーのカスタム項目を追加する。
- プラグインによって動的に生成された選択肢を追加する。
- 管理画面でのユーザビリティ向上のためのカスタムヘルプテキストの表示。
- 他のプラグインやテーマの状態に基づいて選択肢を変更する。
- 柔軟なカスタムタクソノミー管理を実現する。
フィルタの構文
add_filter('cptui_below_taxonomy_select', 'あなたのコールバック関数名');
パラメータ
array
$taxonomies: 現在のタクソノミーの情報の配列。
戻り値
array
: フィルタ処理が適用されたタクソノミーの情報の配列。
使用可能なバージョン
- Custom Post Type UI: バージョン 1.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('cptui_below_taxonomy_select', function($taxonomies) {
// 特定のタクソノミーが存在するか確認
if (isset($taxonomies['my_custom_taxonomy'])) {
$taxonomies['my_custom_taxonomy']['class'] = 'my-custom-class';
}
return $taxonomies;
});
このサンプルコードは、特定のタクソノミーにカスタムCSSクラスを追加します。これにより、スタイルの調整が可能になります。
サンプルコード 2
add_filter('cptui_below_taxonomy_select', function($taxonomies) {
// すべてのタクソノミーにカスタムメッセージを追加
foreach ($taxonomies as $taxonomy => $value) {
$taxonomies[$taxonomy]['description'] = 'カスタムメッセージを表示';
}
return $taxonomies;
});
このサンプルコードは、すべてのタクソノミーにカスタムメッセージを追加し、ユーザーにヘルプを提供します。
サンプルコード 3
add_filter('cptui_below_taxonomy_select', function($taxonomies) {
// 特定の条件に基づいて選択肢を追加
if (is_admin()) {
$taxonomies['new_custom_taxonomy'] = [
'label' => __('新しいタクソノミー'),
'args' => ['hierarchical' => true],
];
}
return $taxonomies;
});
このサンプルコードは、管理画面でのみ新しいタクソノミーを追加する条件付きロジックを示しています。
サンプルコード 4
add_filter('cptui_below_taxonomy_select', function($taxonomies) {
// タクソノミーの選択肢から特定のタクソノミーを削除
unset($taxonomies['unwanted_taxonomy']);
return $taxonomies;
});
このサンプルコードは、指定したタクソノミーを選択肢から削除する際に使用します。
サンプルコード 5
add_filter('cptui_below_taxonomy_select', function($taxonomies) {
// 動的にタクソノミーをフィルタリングし、特定の条件に基づいて表示する
if (current_user_can('manage_options')) {
// 管理者の場合はすべてのタクソノミーを表示
return $taxonomies;
} else {
// 一般ユーザーの場合は特定のタクソノミーのみ表示
return array_filter($taxonomies, function($taxonomy) {
return $taxonomy['public'];
});
}
});
このサンプルコードは、ユーザーの権限に基づいて異なるタクソノミーを表示する条件付きロジックを含んでいます。