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

概要

cptui_post_types_overrideは、WordPressのプラグインであるCustom Post Type UIにおいて、カスタム投稿タイプの設定を変更するためのフィルターフックです。このフィルタは、既定のカスタム投稿タイプの設定を上書きする際に使用されます。具体的には、開発者がカスタム投稿タイプのメタ情報(ラベルや機能など)を自由に変更したり、追加のフィールドや設定を加えたりすることが可能になります。

主な用途は以下の通りです:
1. カスタム投稿タイプのラベルの変更
2. カスタム投稿タイプのオプションを動的に変更
3. 他のプラグインとの互換性のためのカスタマイズ
4. 特定の条件に基づいてカスタム投稿タイプの機能を制御
5. インターフェイス上での表示変更
6. デフォルトの動作を変更して特定のニーズに合わせる

構文

add_filter('cptui_post_types_override', 'your_custom_function');

パラメータ
$post_types: 既存のカスタム投稿タイプの配列。

戻り値
– 配列:変更されたカスタム投稿タイプの設定。

使用可能なプラグインバージョン
– Custom Post Type UI バージョン: 1.0以上

使用可能なWordPressのバージョン
– 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: 投稿タイプのラベルを変更

このサンプルコードは、カスタム投稿タイプ「book」のラベルを「本」に変更します。

add_filter('cptui_post_types_override', function($post_types) {
    if (isset($post_types['book'])) {
        $post_types['book']->label = '本';
    }
    return $post_types;
});

引用元: https://github.com/WebDevStudios/CPT-UI

サンプル2: カスタム投稿タイプのスラッグを変更

この例では、カスタム投稿タイプ「movie」のスラッグを「films」に変更します。

add_filter('cptui_post_types_override', function($post_types) {
    if (isset($post_types['movie'])) {
        $post_types['movie']->rewrite['slug'] = 'films';
    }
    return $post_types;
});

引用元: https://wordpress.org/plugins/custom-post-type-ui/

サンプル3: 投稿タイプにカスタムフィールドを追加

このコードは、「event」というカスタム投稿タイプにカスタムフィールドを追加します。

add_filter('cptui_post_types_override', function($post_types) {
    if (isset($post_types['event'])) {
        $post_types['event']->supports[] = 'custom-fields';
    }
    return $post_types;
});

引用元: https://wpengine.com

サンプル4: カスタム投稿タイプにエディタのサポートを追加

このサンプルは、「recipe」というカスタム投稿タイプにエディタの機能を追加します。

add_filter('cptui_post_types_override', function($post_types) {
    if (isset($post_types['recipe'])) {
        $post_types['recipe']->supports[] = 'editor';
    }
    return $post_types;
});

引用元: https://www.wpbeginner.com

サンプル5: カスタム投稿タイプの公開状態を変更

この例では、「portfolio」カスタム投稿タイプの公開状態を「非公開」に設定します。

add_filter('cptui_post_types_override', function($post_types) {
    if (isset($post_types['portfolio'])) {
        $post_types['portfolio']->public = false;
    }
    return $post_types;
});

引用元: https://themeisle.com

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


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