概要
cptui_post_type_submit_select
フィルタは、Custom Post Type UI プラグインにおいて、カスタム投稿タイプの作成画面で表示される投稿タイプの選択オプションを変更するために使用されます。このフィルタを利用することで、管理画面上の投稿タイプのドロップダウンリストに独自の選択肢を追加したり、表示内容をカスタマイズすることが可能です。
よく使われる機能
- 特定の投稿タイプを一覧から除外する。
- 投稿タイプのラベルや名称を変更する。
- デフォルトの投稿タイプに独自の属性や機能を追加する。
- プラグインが拡張したカスタム投稿に対応するためのカスタムUIを整える。
- 複数のカスタム投稿タイプを統合するための選択肢を提供する。
- 投稿タイプの選択肢に条件付きのロジックを適用する。
構文
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
フィルタの理解が進むことを願っています。