概要
cptui_taxonomies_dropdown_options
フィルタは、WordPressのプラグイン「Custom Post Type UI」において、カスタム投稿タイプのタクソノミーのドロップダウンオプションを操作するために利用されます。これを利用することで、カスタムポストタイプの管理画面で表示されるタクソノミーのリストをカスタマイズすることができます。
主に以下のような機能実装に役立ちます:
- 特定の条件に基づいてタクソノミーをフィルタリングする
- タクソノミーの表示順序を変更する
- タクソノミーの表示ラベルをカスタマイズする
- 特定のタクソノミーを非表示にする
- ユーザーのロールに基づいてタクソノミーをカスタマイズする
- 特定のプラグインやテーマとの互換性を向上させる
このフィルタは、Custom Post Type UIのバージョン1.0.0以上で使用可能であり、WordPressのバージョン4.4以上でサポートされています。
構文
add_filter('cptui_taxonomies_dropdown_options', 'your_function_name', 10, 2);
パラメータ
array $options
: 現在のタクソノミーのドロップダウンオプションstring $post_type
: 現在のカスタム投稿タイプ
戻り値
array $options
: 編集したタクソノミーのドロップダウンオプション
サンプルコード
サンプル1
add_filter('cptui_taxonomies_dropdown_options', 'custom_taxonomy_options', 10, 2);
function custom_taxonomy_options($options, $post_type) {
if ($post_type === 'your_custom_post_type') {
// 非表示にしたいタクソノミーを削除
unset($options['taxonomy_to_hide']);
}
return $options;
}
このサンプルコードは、特定のカスタム投稿タイプに対して、あるタクソノミーをドロップダウンリストから削除します。
サンプル2
add_filter('cptui_taxonomies_dropdown_options', 'sort_taxonomies_options', 10, 2);
function sort_taxonomies_options($options, $post_type) {
// タクソノミーの配列をアルファベット順にソート
asort($options);
return $options;
}
このサンプルコードは、タクソノミーのドロップダウンオプションをアルファベット順にソートします。
サンプル3
add_filter('cptui_taxonomies_dropdown_options', 'custom_label_taxonomies', 10, 2);
function custom_label_taxonomies($options, $post_type) {
foreach ($options as $key => $label) {
// 特定のタクソノミー名をカスタムラベルに変更
if ($key === 'taxonomy_name') {
$options[$key] = 'Custom Taxonomy Label';
}
}
return $options;
}
このサンプルコードでは、特定のタクソノミーの表示名をカスタムなラベルに変更しています。
サンプル4
add_filter('cptui_taxonomies_dropdown_options', 'conditional_taxonomy_options', 10, 2);
function conditional_taxonomy_options($options, $post_type) {
// 特定の投稿タイプの時のみオプションを追加
if ($post_type === 'special_post_type') {
$options['new_taxonomy'] = 'New Custom Taxonomy';
}
return $options;
}
このサンプルコードは、特定の投稿タイプにおいて新しいタクソノミーのオプションをドロップダウンに追加します。
サンプル5
add_filter('cptui_taxonomies_dropdown_options', 'remove_some_taxonomies', 10, 2);
function remove_some_taxonomies($options, $post_type) {
// 特定の条件でタクソノミーを非表示
if (current_user_can('administrator')) {
unset($options['taxonomy_to_remove']);
}
return $options;
}
このサンプルコードでは、管理者権限を持つユーザーのみが特定のタクソノミーを表示できるようにしています。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |