概要
woocommerce_settings_tabs_array
フィルタは、WooCommerceの設定タブをカスタマイズするために使用されます。このフィルタを利用することで、新しい設定タブを追加したり、既存のタブの順序を変更したりできます。このフィルタは、特に以下のような機能を実装する際によく使われます。
- 新しい設定タブを追加
- 既存のタブの順序を変更
- タブのタイトルや説明を変更
- タブにカスタムコンテンツを追加
- 特定の条件に基づいてタブを表示/非表示にする
- タブのデザインやレイアウトの変更
構文
add_filter('woocommerce_settings_tabs_array', 'function_name', priority, accepted_args);
パラメータ
- woocommerce_settings_tabs_array:フィルタ名
- $tabs: 既存のタブを含む配列
- $current_tab: 現在アクティブなタブ名(オプション)
戻り値
- 修正されたタブ名の配列
WooCommerceのバージョン
このフィルタは、WooCommerce 2.0以降のバージョンで利用可能です。
WordPressのバージョン
WordPress 3.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('woocommerce_settings_tabs_array', 'add_custom_settings_tab', 50);
function add_custom_settings_tab($tabs) {
$tabs['custom_tab'] = __('Custom Tab', 'text-domain');
return $tabs;
}
このコードは、新しい設定タブ「Custom Tab」をWooCommerceの設定メニューに追加します。
出典: https://docs.woocommerce.com
サンプルコード 2
add_filter('woocommerce_settings_tabs_array', 'reorder_settings_tabs', 50);
function reorder_settings_tabs($tabs) {
$tabs = array(
'general' => $tabs['general'],
'custom_tab' => $tabs['custom_tab'],
'advanced' => $tabs['advanced'],
);
return $tabs;
}
このコードは、設定タブ「Custom Tab」を「General」と「Advanced」の間に配置します。
出典: https://developer.woocommerce.com
サンプルコード 3
add_filter('woocommerce_settings_tabs_array', 'remove_unwanted_tab', 50);
function remove_unwanted_tab($tabs) {
unset($tabs['shipping']);
return $tabs;
}
このコードは、WooCommerceの設定から「Shipping」タブを削除します。
出典: https://www.wpbeginner.com
サンプルコード 4
add_filter('woocommerce_settings_tabs_array', 'change_tab_title', 50);
function change_tab_title($tabs) {
$tabs['custom_tab'] = __('Updated Tab Title', 'text-domain');
return $tabs;
}
このコードは、「Custom Tab」のタイトルを「Updated Tab Title」に変更します。
出典: https://www.sitepoint.com
サンプルコード 5
add_filter('woocommerce_settings_tabs_array', 'conditional_tab_display', 50);
function conditional_tab_display($tabs) {
if (!current_user_can('administrator')) {
unset($tabs['custom_tab']);
}
return $tabs;
}
このコードは、管理者以外のユーザーが「Custom Tab」にアクセスできないようにします。
出典: https://www.wpexplorer.com