概要
cptui_pre_register_post_types
は、WordPressのプラグインCustom Post Type UIに関連するフィルターフックで、カスタム投稿タイプを登録する前にカスタマイズを行うために使用されます。このフックは、カスタム投稿タイプを設定する際に非常に役立ち、以下のような機能を実装するために広く使われます。
- カスタム投稿タイプのラベルを変更
- カスタム投稿タイプのサポート機能を追加
- カスタム投稿タイプの設定を条件に応じて動的に変更
- プラグインやテーマからの追加設定の適用
- 発行済みのカスタム投稿タイプの修正
- プラグインの互換性を維持するための設定
構文
add_action('cptui_pre_register_post_types', 'your_custom_function');
パラメータ
cptui_pre_register_post_types
には特に引数はありません。
戻り値
このアクションフック自体は何も返さず、ただコールバック関数を実行するためのものです。
バージョン情報
- 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: カスタム投稿タイプのラベルを変更
function modify_custom_post_type_labels($args) {
if ('custom_post_type' === $args['name']) {
$args['labels']['name'] = '新しいラベル名';
}
return $args;
}
add_action('cptui_pre_register_post_types', 'modify_custom_post_type_labels');
このコードは、指定されたカスタム投稿タイプの名称を「新しいラベル名」に変更します。
サンプル2: カスタム投稿タイプのサポート機能を追加
function add_support_to_custom_post_type($args) {
if ('custom_post_type' === $args['name']) {
$args['supports'][] = 'thumbnail';
}
return $args;
}
add_action('cptui_pre_register_post_types', 'add_support_to_custom_post_type');
このコードは、特定のカスタム投稿タイプにサムネイルのサポートを追加します。
サンプル3: 引数に基づいてカスタム投稿タイプの条件を追加
function conditional_custom_post_type_args($args) {
if (is_home()) {
$args['public'] = true;
} else {
$args['public'] = false;
}
return $args;
}
add_action('cptui_pre_register_post_types', 'conditional_custom_post_type_args');
このコードは、ホームページが表示されている場合にカスタム投稿タイプを公開状態に設定します。
サンプル4: カスタム投稿タイプのメタボックスを追加
function add_meta_box_to_custom_post_type($args) {
if ('custom_post_type' === $args['name']) {
$args['show_in_rest'] = true;
}
return $args;
}
add_action('cptui_pre_register_post_types', 'add_meta_box_to_custom_post_type');
このコードは、特定のカスタム投稿タイプに対してREST APIを使用できるようにします。
サンプル5: カスタム投稿タイプのリビジョンを無効化
function disable_revisions_for_custom_post_type($args) {
if ('custom_post_type' === $args['name']) {
$args['revisions'] = false;
}
return $args;
}
add_action('cptui_pre_register_post_types', 'disable_revisions_for_custom_post_type');
このコードは、指定されたカスタム投稿タイプに対してリビジョンの機能を無効化します。