概要
woocommerce_get_settings_pages
フィルタは、WooCommerceの設定ページをカスタマイズする際によく使われます。このフィルタを使用することで、WooCommerceの管理者画面に表示される設定項目を追加、変更、または削除することが可能です。
よく使われる機能
- 新しい設定セクションの追加
- 既存の設定フィールドの変更
- 設定ページのレイアウト調整
- 設定項目の表示順序の変更
- 設定フィールドのバリデーションの追加
- 特定の条件に基づく設定の非表示
構文
add_filter('woocommerce_get_settings_pages', 'custom_woocommerce_settings');
パラメータ
$settings_pages
: WooCommerceの設定ページを含む配列。
戻り値
- 修正された設定ページの配列。
サポートされるバージョン
- WooCommerce バージョン: 3.0以上
- WordPress バージョン: 4.0以上
サンプルコード
-
新しい設定セクションの追加
- このコードは、WooCommerceの設定ページに新しいセクションを追加する方法を示しています。
add_filter('woocommerce_get_settings_pages', 'add_custom_settings_page'); function add_custom_settings_page($settings) { $settings[] = include 'path/to/settings-class.php'; return $settings; }
-
設定フィールドの変更
- この例では、特定の設定フィールドのラベルを変更しています。
add_filter('woocommerce_get_settings_general', 'change_settings_field_label'); function change_settings_field_label($settings) { foreach ($settings as &$setting) { if ($setting['id'] === 'woocommerce_store_address') { $setting['title'] = '新しいストアアドレス'; } } return $settings; }
-
設定ページのレイアウト調整
- この例は、WooCommerceの設定ページのレイアウトを調整するためのコードです。
add_filter('woocommerce_get_settings_pages', 'adjust_settings_page_layout'); function adjust_settings_page_layout($settings) { // 特定のレイアウト調整コード return $settings; }
-
設定項目の表示順序の変更
- このコードは、WooCommerceの設定項目の表示順序を変更します。
add_filter('woocommerce_get_settings_products', 'change_settings_order'); function change_settings_order($settings) { // 表示順序を変更するロジック return $settings; }
-
特定の条件に基づく設定の非表示
- 特定の条件に基づいて設定フィールドを非表示にする例です。
add_filter('woocommerce_get_settings_shipping', 'hide_shipping_settings'); function hide_shipping_settings($settings) { if (!is_user_logged_in()) { unset($settings[0]); // 非表示にしたい設定のインデックス } return $settings; }
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |