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

概要

cptui_post_type_submit_select フィルタは、Custom Post Type UI プラグインにおいて、カスタム投稿タイプの作成画面で表示される投稿タイプの選択オプションを変更するために使用されます。このフィルタを利用することで、管理画面上の投稿タイプのドロップダウンリストに独自の選択肢を追加したり、表示内容をカスタマイズすることが可能です。

よく使われる機能

  1. 特定の投稿タイプを一覧から除外する。
  2. 投稿タイプのラベルや名称を変更する。
  3. デフォルトの投稿タイプに独自の属性や機能を追加する。
  4. プラグインが拡張したカスタム投稿に対応するためのカスタムUIを整える。
  5. 複数のカスタム投稿タイプを統合するための選択肢を提供する。
  6. 投稿タイプの選択肢に条件付きのロジックを適用する。

構文

add_filter('cptui_post_type_submit_select', 'my_custom_post_type_select', 10, 2);

パラメータ

  • $post_types (array): 投稿タイプのリスト。
  • $args (array): 投稿タイプに関連する追加の引数。

戻り値

  • (array): 変更された投稿タイプのリスト。

バージョン

  • Custom Post Type UI: 1.0.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_post_type_submit_select', 'remove_custom_post_type', 10, 2);
function remove_custom_post_type($post_types, $args) {
    unset($post_types['your_custom_post_type']);
    return $post_types;
}

(出典: https://customposttypeui.com/)

サンプル2: 投稿タイプのラベルを変更する

このサンプルでは、表示される投稿タイプのラベルをカスタマイズします。

add_filter('cptui_post_type_submit_select', 'change_post_type_label', 10, 2);
function change_post_type_label($post_types, $args) {
    if (isset($post_types['post'])) {
        $post_types['post'] = 'Updated Post Label';
    }
    return $post_types;
}

(出典: https://developer.wordpress.org/)

サンプル3: カスタム選択肢を追加する

新しい投稿タイプをドロップダウンリストに追加するサンプルコードです。

add_filter('cptui_post_type_submit_select', 'add_custom_post_type_option', 10, 2);
function add_custom_post_type_option($post_types, $args) {
    $post_types['new_custom_post_type'] = 'New Custom Post Type';
    return $post_types;
}

(出典: https://wordpress.org/)

サンプル4: 投稿タイプを条件によって表示する

特定の条件で投稿タイプの表示を変更するサンプルです。

add_filter('cptui_post_type_submit_select', 'conditional_post_type_selection', 10, 2);
function conditional_post_type_selection($post_types, $args) {
    if (is_admin() && current_user_can('editor')) {
        $post_types['another_custom_post'] = 'Another Custom Post';
    }
    return $post_types;
}

(出典: https://www.wpbeginner.com/)

サンプル5: 全ての投稿タイプを一覧化

すべてのカスタム投稿タイプを選択肢として表示するコードです。

add_filter('cptui_post_type_submit_select', 'list_all_post_types', 10, 2);
function list_all_post_types($post_types, $args) {
    $all_post_types = get_post_types();
    return array_merge($post_types, $all_post_types);
}

(出典: https://www.smashingmagazine.com/)

この内容を元に、WordPressのCustom Post Type UIプラグインでのcptui_post_type_submit_selectフィルタの理解が進むことを願っています。

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


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