概要
woocommerce_shipping_instance_form_fields_$THIS->ID
フィルタは、WooCommerceの送料設定画面における特定の配送メソッドのフィールドをカスタマイズするために使用されます。このフィルタを利用することで、管理画面に表示されるオプションを追加、変更、または削除でき、ユーザーが配送方法に対して具体的な設定を行う際に柔軟性を提供します。このフィルタは特に以下のような機能に役立つことが多いです。
- 配送方法に独自の設定を追加する
- デフォルトのフィールドのラベルや説明を変更する
- ユーザーが入力するフィールドのバリデーションを実装する
- 配送方法ごとに異なる設定オプションを表示する
- 設定のデフォルト値を変更する
- 必要に応じてフィールドの表示・非表示を制御する
構文
add_filter('woocommerce_shipping_instance_form_fields_$THIS->ID', 'your_function_name', 10, 2);
パラメータ
$fields
: 配送メソッドで利用される設定フィールドの配列。$this
: 現在のインスタンス(配送方法)オブジェクト。
戻り値
$fields
: カスタマイズされたフィールドの配列。
使用可能なプラグインとバージョン
- WooCommerce: バージョン 2.6.0以上
- 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: 独自の設定フィールドを追加
add_filter('woocommerce_shipping_instance_form_fields_my_shipping_method', 'add_custom_shipping_fields');
function add_custom_shipping_fields($fields) {
$fields['my_custom_field'] = array(
'title' => __('My Custom Field', 'woocommerce'),
'type' => 'text',
'description' => __('Enter a value for this custom field.', 'woocommerce'),
'default' => '',
);
return $fields;
}
このサンプルコードは、特定の配送方法に新しいカスタムフィールドを追加しています。このフィールドはユーザーが入力できるテキストフィールドです。
サンプルコード2: フィールドのラベルを変更
add_filter('woocommerce_shipping_instance_form_fields_my_shipping_method', 'change_field_label');
function change_field_label($fields) {
if (isset($fields['my_custom_field'])) {
$fields['my_custom_field']['title'] = __('Updated Label', 'woocommerce');
}
return $fields;
}
このサンプルコードは、前述のカスタムフィールドのタイトル(ラベル)を「Updated Label」に変更します。
サンプルコード3: フィールドのデフォルト値を設定
add_filter('woocommerce_shipping_instance_form_fields_my_shipping_method', 'set_default_field_value');
function set_default_field_value($fields) {
$fields['my_custom_field']['default'] = 'Default Value';
return $fields;
}
このコードは、カスタムフィールドにデフォルトで表示される値を設定しています。
サンプルコード4: フィールドの説明を変更
add_filter('woocommerce_shipping_instance_form_fields_my_shipping_method', 'change_field_description');
function change_field_description($fields) {
if (isset($fields['my_custom_field'])) {
$fields['my_custom_field']['description'] = __('Please enter your custom value.', 'woocommerce');
}
return $fields;
}
このコードは、前述のカスタムフィールドの説明を変更しています。
サンプルコード5: フィールドの表示・非表示を制御
add_filter('woocommerce_shipping_instance_form_fields_my_shipping_method', 'toggle_field_visibility');
function toggle_field_visibility($fields) {
if (some_condition()) {
unset($fields['my_custom_field']);
}
return $fields;
}
このサンプルコードでは、特定の条件が満たされない場合にカスタムフィールドを非表示にします。
これらのサンプルはすべてWooCommerce環境でのカスタマイズの一例であり、具体的なニーズに応じて適宜変更できます。