プラグインCustom Post Type UIのcptui_disable_taxフィルタの使用方法・解説

概要

cptui_disable_tax フィルタは、WordPressのプラグイン「Custom Post Type UI」でカスタム投稿タイプに関連するタクソノミーの機能を無効にするために使用されます。このフィルタは、開発者が生じる可能性のあるタクソノミーの混乱を回避するため、特定のカスタム投稿タイプに対してタクソノミーの追加を制限する際によく使われます。特によく使われるケースには、以下のようなものがあります。

  1. タクソノミーの冗長性を避けること。
  2. カスタム投稿タイプに関連付けるタクソノミーを選択的に制限すること。
  3. 不要なタクソノミーの表示を防ぐこと。
  4. フロントエンドでのナビゲーションの簡素化。
  5. カスタムポストタイプの管理画面を整理する。
  6. 特定のユーザー権限に基づいてタクソノミーを条件付きで変更する。

このフィルタは、Custom Post Type UIのバージョン 1.6 以上およびWordPressのバージョン5.0以降で利用可能です。

構文

add_filter( 'cptui_disable_tax', 'my_custom_tax_disable', 10, 2 );

パラメータ

  • $disable (bool): デフォルト値は false。タクソノミーを無効にするかどうかを示す。
  • $post_type (string): タクソノミーの作成対象のカスタム投稿タイプ。

戻り値

  • bool: trueの場合、タクソノミーが無効化されます。

この関数のアクションでの使用可能性

アクション名 使用例
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: 特定のカスタム投稿タイプに対してタクソノミーを無効化

このサンプルコードは、カスタム投稿タイプ「book」に対してタクソノミーを無効にします。

add_filter( 'cptui_disable_tax', function( $disable, $post_type ) {
    if ( 'book' === $post_type ) {
        return true;
    }
    return $disable;
});

引用元: https://codex.wordpress.org/Function_Reference/add_filter

サンプルコード2: タクソノミーの特定条件で無効化

このコードは、ユーザーのロールが「editor」の場合にタクソノミーを無効化します。

add_filter( 'cptui_disable_tax', function( $disable, $post_type ) {
    if ( current_user_can('editor') ) {
        return true;
    }
    return $disable;
});

引用元: https://developer.wordpress.org/reference/functions/current_user_can/

サンプルコード3: 特定のタクソノミーの無効化

このコードは、「event」というカスタム投稿タイプに対して、特定のタクソノミー「category」の機能を無効にします。

add_filter( 'cptui_disable_tax', function( $disable, $post_type ) {
    if ( 'event' === $post_type ) {
        return 'category' === $tax ? true : $disable;
    }
    return $disable;
});

引用元: https://developer.wordpress.org/reference/hooks/add_filter/

サンプルコード4: すべてのカスタム投稿タイプで無効化

このコードは、すべてのカスタム投稿タイプに対してタクソノミーを無効にします。

add_filter( 'cptui_disable_tax', function( $disable, $post_type ) {
    return true; // すべて無効
});

引用元: https://developer.wordpress.org/reference/functions/add_filter/

サンプルコード5: カスタム条件で無効化

このコードは、特定の条件が満たされた場合のみタクソノミーを無効化します。

add_filter( 'cptui_disable_tax', function( $disable, $post_type ) {
    if ( is_single() && $post_type === 'portfolio' ) {
        return true; // ポートフォリオの単一表示時に無効化
    }
    return $disable;
});

引用元: https://developer.wordpress.org/reference/functions/is_single/

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


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