概要
cptui_get_tabs
フィルタは、WordPressのCustom Post Type UIプラグインでカスタムポストタイプタブのカスタマイズに使用されます。このフィルタを使用することで、管理ダッシュボード内のカスタムポストタイプの表示を変更したり、新しいタブを追加したり、既存のタブを変更することができます。このフィルタは、以下のような機能を実装する際によく使われます。
- カスタムポストタイプの情報の表示を調整する。
- 特定のユーザー権限に基づいてタブの表示を変更する。
- 新しい設定タブを追加することで、管理画面を拡張する。
- フロントエンドに利用するためのオプションを提供する。
- 既存のタブのラベルや順序を変更する。
- タブの内容を条件に基づいて動的に変更する。
構文:
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 |