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

概要

cptui_get_tabsフィルタは、WordPressのCustom Post Type UIプラグインでカスタムポストタイプタブのカスタマイズに使用されます。このフィルタを使用することで、管理ダッシュボード内のカスタムポストタイプの表示を変更したり、新しいタブを追加したり、既存のタブを変更することができます。このフィルタは、以下のような機能を実装する際によく使われます。

  1. カスタムポストタイプの情報の表示を調整する。
  2. 特定のユーザー権限に基づいてタブの表示を変更する。
  3. 新しい設定タブを追加することで、管理画面を拡張する。
  4. フロントエンドに利用するためのオプションを提供する。
  5. 既存のタブのラベルや順序を変更する。
  6. タブの内容を条件に基づいて動的に変更する。

構文:

add_filter('cptui_get_tabs', 'custom_function_name');

パラメータ

  • $tabs (array): タブの配列。

戻り値

  • array: 修正されたタブの配列を返す。

プラグインのバージョン

Custom Post Type UIバージョン:1.10.0

WordPressのバージョン

WordPressバージョン:5.8以上

サンプルコード

サンプルコード1

add_filter('cptui_get_tabs', function($tabs) {
    $tabs['new_tab'] = __('New Tab', 'textdomain');
    return $tabs;
});

このサンプルコードは、新しいタブ「New Tab」をカスタムポストタイプの管理画面に追加します。

サンプルコード2

add_filter('cptui_get_tabs', function($tabs) {
    if (!current_user_can('manage_options')) {
        unset($tabs['some_existing_tab']);
    }
    return $tabs;
});

このサンプルコードは、管理者ではないユーザーが特定のタブを見れないように、タブを削除します。

サンプルコード3

add_filter('cptui_get_tabs', function($tabs) {
    $tabs = array_merge($tabs, [
        'settings_tab' => __('Settings', 'textdomain'),
        'info_tab' => __('Info', 'textdomain'),
    ]);
    return $tabs;
});

このサンプルコードは、カスタムポストタイプに「Settings」と「Info」の2つの新しいタブを追加します。

サンプルコード4

add_filter('cptui_get_tabs', function($tabs) {
    foreach ($tabs as $key => $tab) {
        if ($key === 'info_tab') {
            $tabs[$key] = __('Updated Info', 'textdomain');
        }
    }
    return $tabs;
});

このサンプルコードは、既存の「Info」タブのラベルを「Updated Info」に変更します。

サンプルコード5

add_filter('cptui_get_tabs', function($tabs) {
    if (isset($tabs['old_tab'])) {
        $tabs = array_slice($tabs, 0, 2, true) + ['new_positioned_tab' => __('New Positioned Tab', 'textdomain')] + array_slice($tabs, 2);
    }
    return $tabs;
});

このサンプルコードは、特定のタブの前に「New Positioned Tab」を挿入します。

この関数のアクションでの使用可能性

アクション 使用可能性
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

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


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