プラグインCustom Post Type UIのcptui_disable_{$tax[‘name’]}_taxフィルタの使用方法・解説

概要

フィルタ cptui_disable_{$tax['name']}_tax は、WordPress の Custom Post Type UI プラグインで使用されるフィルタです。このフィルタは、カスタムタクソノミーの登録時にそのタクソノミーを無効にするために便利です。具体的には、特定のカスタムタクソノミーを特定のカスタム投稿タイプに関連付けたくない場合や、ユーザーの権限や条件に応じてタクソノミーの表示や使用を制限したい場合でよく利用されます。

よく使われるケースは以下の通りです:

  1. 特定のユーザー役割に対してタクソノミーを無効化
  2. ある条件下で特定のタクソノミーを非表示に
  3. 特定のカスタム投稿タイプのためにタクソノミーを設定するのを防ぐ
  4. 開発中のカスタムタクソノミーを一時的に無効化
  5. プラグインの機能を一部制御するため
  6. 特定のプロジェクト条件に応じたカスタマイズを行う

このフィルタは 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 の公式ドキュメントで詳細を確認できます。

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


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