概要
wpforms_coupons_generator_generate_code_args
は、WPFormsプラグインにおいてクーポンコード生成の引数をカスタマイズするためのフィルターフックです。このフィルターフックを使うことで、クーポンコードの生成プロセスを拡張したり、特定の条件に基づいて動的にクーポンコードを変更したりすることが可能です。
このフィルタは、以下のような機能を実装する際によく使われます:
1. カスタムクーポンコードフォーマットの作成
2. 有効期限の設定や変更
3. クーポンの割引率を条件に基づいて調整
4. 特定の条件に応じたクーポンの発行制限
5. ログインユーザーや特定の役割に基づくクーポンの発行
6. サイトのプロモーションに合わせた特別なクーポン設定
構文
add_filter('wpforms_coupons_generator_generate_code_args', 'your_function_name', 10, 2);
パラメータ
$args
: 生成するクーポンコードの引数を含む配列。$form_data
: フォームデータに関する情報を含む配列。
戻り値
- フィルタによって修正された引数の配列。
WPFormsのバージョン
- このフィルターはWPFormsのバージョン1.6.0以降で利用可能です。
ワードプレスのバージョン
- ワードプレスのバージョン5.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: クーポンコードのプレフィックス追加
このコードは、生成されるクーポンコードの先頭に「PROMO-」というプレフィックスを追加します。
add_filter('wpforms_coupons_generator_generate_code_args', function ($args) {
$args['code'] = 'PROMO-' . $args['code'];
return $args;
});
サンプル2: 割引率を特定の条件に基づいて設定
このサンプルコードでは、特定のユーザー役割に基づいて割引率を動的に設定します。
add_filter('wpforms_coupons_generator_generate_code_args', function ($args) {
if (current_user_can('editor')) {
$args['discount'] = 20; // エディタユーザーには20%の割引
} else {
$args['discount'] = 10; // その他のユーザーには10%の割引
}
return $args;
});
サンプル3: 有効期限を特定の日付に設定
このコードは、すべてのクーポンに2024年12月31日までの有効期限を設定します。
add_filter('wpforms_coupons_generator_generate_code_args', function ($args) {
$args['expiration'] = '2024-12-31';
return $args;
});
サンプル4: クーポンコードにカスタムサフィックス追加
このサンプルでは、すべての生成されるクーポンコードの末尾に「-2024」というサフィックスを追加します。
add_filter('wpforms_coupons_generator_generate_code_args', function ($args) {
$args['code'] .= '-2024';
return $args;
});
サンプル5: 特定のクーポンコード長の設定
このコードでは、生成されるクーポンコードの長さを8文字に制限します。
add_filter('wpforms_coupons_generator_generate_code_args', function ($args) {
$args['length'] = 8; // クーポンコードの長さを8文字に設定
return $args;
});