概要
フィルタ cptui_disable_{$tax['name']}_tax
は、WordPress の Custom Post Type UI プラグインで使用されるフィルタです。このフィルタは、カスタムタクソノミーの登録時にそのタクソノミーを無効にするために便利です。具体的には、特定のカスタムタクソノミーを特定のカスタム投稿タイプに関連付けたくない場合や、ユーザーの権限や条件に応じてタクソノミーの表示や使用を制限したい場合でよく利用されます。
よく使われるケースは以下の通りです:
- 特定のユーザー役割に対してタクソノミーを無効化
- ある条件下で特定のタクソノミーを非表示に
- 特定のカスタム投稿タイプのためにタクソノミーを設定するのを防ぐ
- 開発中のカスタムタクソノミーを一時的に無効化
- プラグインの機能を一部制御するため
- 特定のプロジェクト条件に応じたカスタマイズを行う
このフィルタは Custom Post Type UI プラグイン(バージョン 1.10.0 以降)および WordPress(バージョン 4.0 以降)で使用可能です。
構文
add_filter('cptui_disable_{tax_name}_tax', 'your_custom_function');
パラメータ
tax_name
: タクソノミーの名前。フィルタ名前の一部として使用されます。your_custom_function
: このフィルタのプロセスを制御するカスタム関数。
戻り値
true
: タクソノミーを無効化することを示す。false
: タクソノミーを有効化することを示す。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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_disable_custom_taxonomy_tax', function($disable) {
if (current_user_can('editor')) {
return true; // エディター権限を持つユーザーにはタクソノミーを無効化
}
return $disable;
});
この例では、ユーザーが「エディター」の権限を持っている場合に、特定のカスタムタクソノミーを無効化します。
サンプル 2
add_filter('cptui_disable_category_tax', function($disable) {
return is_admin() ? true : $disable; // 管理画面ではカスタムタクソノミーを無効化
});
このコードは、管理画面にいるときに特定のカスタムタクソノミー(ここでは「category」)を無効化します。
サンプル 3
add_filter('cptui_disable_tag_tax', function($disable) {
if (is_page('special-page')) {
return true; // 特定のページではタクソノミーを無効化
}
return $disable;
});
このサンプルは、特定のページである「special-page」にいるときにカスタムタクソノミーを無効化します。
サンプル 4
add_filter('cptui_disable_custom_taxonomy_tax', function($disable) {
global $post;
if ($post->post_type == 'custom_post') {
return true; // 特定のカスタム投稿タイプに対してタクソノミーを無効化
}
return $disable;
});
この例では、特定のカスタム投稿タイプである「custom_post」に対して、タクソノミーを無効化しています。
サンプル 5
add_filter('cptui_disable_another_tax_tax', function($disable) {
return apply_filters('custom_condition_check', false) ? true : $disable; // 外部条件に基づいてタクソノミーを無効化
});
外部のフィルタ結果に基づいてタクソノミーを無効化するサンプルです。
これらの例は、すべて著作権フリーのものですので、自由に使用できます。具体的な引用元のURLは示されていませんが、一般的な WordPress のコーディングリファレンスや Custom Post Type UI の公式ドキュメントで詳細を確認できます。