概要
cptui_filtered_post_type_post_global_arrays フィルタは、Custom Post Type UIプラグインでカスタム投稿タイプを登録する際に、データのフィルタリングや変更を行うために使用されます。このフィルタを使うことで、カスタム投稿タイプの設定をカスタマイズしたり、特定の条件に基づいて値を変更したりすることが可能です。一般的には以下のような機能を実装する際によく使われます。
- カスタム投稿タイプのラベルを変更する。
- 投稿タイプのサポート機能を追加・削除する。
- 権限を変更して特定のユーザーのアクセスを制御する。
- 投稿タイプの公開設定をカスタマイズする。
- フィールドのUI表示を変更する。
- カスタムメタデータを登録する。
構文
add_filter( 'cptui_filtered_post_type_post_global_arrays', 'your_custom_function', 10, 1 );
パラメータ
$arrays(array): フィルタリングされる配列。投稿タイプの設定が含まれている。
戻り値
- (array): フィルターを適用した後のカスタム投稿タイプの配列。
使用可能なバージョン
- Custom Post Type UI バージョン: 1.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_filtered_post_type_post_global_arrays', 'modify_post_type_labels' );
function modify_post_type_labels( $arrays ) {
$arrays['label'] = 'カスタム記事';
$arrays['labels']['name'] = 'カスタム記事一覧';
return $arrays;
}
このコードは、既存のカスタム投稿タイプのラベルを「カスタム記事」に変更します。
サンプル2: サポート機能の追加
add_filter( 'cptui_filtered_post_type_post_global_arrays', 'add_custom_support' );
function add_custom_support( $arrays ) {
$arrays['supports'][] = 'excerpt';
return $arrays;
}
このコードは、カスタム投稿タイプに「抜粋」機能を追加します。
サンプル3: 権限の変更
add_filter( 'cptui_filtered_post_type_post_global_arrays', 'modify_edit_capability' );
function modify_edit_capability( $arrays ) {
$arrays['capability_type'] = 'custom_capability';
return $arrays;
}
このコードは、カスタム投稿タイプの編集権限を「custom_capability」に変更します。
サンプル4: 公開設定のカスタマイズ
add_filter( 'cptui_filtered_post_type_post_global_arrays', 'change_public_setting' );
function change_public_setting( $arrays ) {
$arrays['public'] = false;
return $arrays;
}
このコードは、カスタム投稿タイプを公開状態から非公開に設定します。
サンプル5: メタデータ登録
add_filter( 'cptui_filtered_post_type_post_global_arrays', 'register_custom_meta' );
function register_custom_meta( $arrays ) {
$arrays['meta_box_cb'] = 'custom_meta_box_callback';
return $arrays;
}
このコードは、カスタム投稿タイプに対するカスタムメタボックスを登録します。