概要
cptui_reserved_post_types
フィルタは、WordPressのプラグイン「Custom Post Type UI」に関連するフックです。このフィルタは、カスタム投稿タイプを登録する際に予約されたポストタイプのリストを変更することができます。具体的な用途としては、以下の機能を実装する際によく利用されます。
- 予約済みの投稿タイプをカスタマイズする
- 他のプラグインとの互換性を確保する
- デフォルトの投稿タイプをフィルタリングする
- カスタム投稿タイプのオプションを拡張する
- パフォーマンスの最適化を行う
- ユーザーインターフェースのカスタマイズを行う
構文
add_filter('cptui_reserved_post_types', 'your_function_name');
パラメータ
$reserved_post_types
: 予約された投稿タイプの配列
戻り値
- 修正された予約投稿タイプの配列
バージョン情報
- Custom Post Type UIのバージョン: 1.0.0以降
- WordPressのバージョン: 4.0以降
サンプルコード
サンプルコード1
add_filter('cptui_reserved_post_types', function($post_types) {
$post_types[] = 'my_custom_post_type';
return $post_types;
});
このコードは、新しいカスタム投稿タイプ「my_custom_post_type」を予約された投稿タイプリストに追加しています。
サンプルコード2
add_filter('cptui_reserved_post_types', function($post_types) {
// 不要な予約投稿タイプを削除
unset($post_types['page']);
return $post_types;
});
このコードは、デフォルトの予約投稿タイプ「page」をリストから削除しています。
サンプルコード3
add_filter('cptui_reserved_post_types', function($post_types) {
return array_merge($post_types, ['custom_type_1', 'custom_type_2']);
});
このコードでは、複数のカスタム投稿タイプ「custom_type_1」と「custom_type_2」を追加しています。
サンプルコード4
add_filter('cptui_reserved_post_types', function($post_types) {
// 特定の条件に基づいて追加
if (is_admin()) {
$post_types[] = 'admin_custom_type';
}
return $post_types;
});
このコードは、管理画面でのみ「admin_custom_type」を予約された投稿タイプリストに追加します。
サンプルコード5
add_filter('cptui_reserved_post_types', function($post_types) {
// カスタム条件を追加
if (current_user_can('administrator')) {
$post_types[] = 'admin_only_type';
}
return $post_types;
});
このコードは、管理者ユーザーのみが見えるカスタム投稿タイプ「admin_only_type」を追加します。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |
この表は、指定したフィルタが各アクションで使用されたかどうかを示しています。init
アクションではこのフィルタが利用可能です。