概要
wpforms_smart_tag_process
は、WPForms プラグインのフィルターフックであり、スマート タグが処理される際に利用されます。このフックを使用することによって、ユーザーが作成したカスタムスマートタグを定義したり、既存のスマートタグの動作を変更することが可能になります。このフィルタは、次のような場合に特に役立ちます。
- カスタムユーザープロフィール情報をフォームに表示する。
- 商品情報やサブスクリプションの動的データを取り扱う。
- 特定の条件に基づいて異なるメッセージやデータを表示する。
- 日付や時刻フォーマットを動的に変更する。
- 送信内容にユーザーのリファラー URL や IP アドレスを追加する。
- 他のプラグインからのデータを統合してフォームに表示する。
構文
add_filter('wpforms_smart_tag_process', 'your_function_name', 10, 3);
パラメータ
$smart_tag
(文字列): 処理されるスマートタグ$form_data
(配列): フォームのデータ$fields
(配列): フォームのフィールドデータ
戻り値
- フィルタを適用した後のスマート タグの値
対応する WPForms のバージョン
WPForms のバージョン 1.0 以降で使用可能。
対応する WordPress のバージョン
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('wpforms_smart_tag_process', 'custom_display_user_login', 10, 3);
function custom_display_user_login($smart_tag, $form_data, $fields) {
if ($smart_tag === '{user_login}') {
return isset($fields['user_id']) ? wp_get_current_user()->user_login : '';
}
return $smart_tag;
}
このコードは、 {user_login}
スマートタグを利用して、ログイン中のユーザー名を表示します。
サンプル2: 現在の日付を特定のフォーマットで表示
add_filter('wpforms_smart_tag_process', 'custom_display_current_date', 10, 3);
function custom_display_current_date($smart_tag, $form_data, $fields) {
if ($smart_tag === '{current_date}') {
return date('Y年m月d日');
}
return $smart_tag;
}
このコードは、 {current_date}
スマートタグを利用して、現在の日付を「YYYY年MM月DD日」の形式で表示します。
サンプル3: IP アドレスを表示
add_filter('wpforms_smart_tag_process', 'custom_display_user_ip', 10, 3);
function custom_display_user_ip($smart_tag, $form_data, $fields) {
if ($smart_tag === '{user_ip}') {
return $_SERVER['REMOTE_ADDR'];
}
return $smart_tag;
}
このコードは、 {user_ip}
スマートタグを利用して、ユーザーのIPアドレスを表示します。
サンプル4: カスタムメッセージの表示
add_filter('wpforms_smart_tag_process', 'custom_display_message', 10, 3);
function custom_display_message($smart_tag, $form_data, $fields) {
if ($smart_tag === '{custom_message}') {
return '特別なメッセージ: ウェブサイトにようこそ!';
}
return $smart_tag;
}
このコードは、 {custom_message}
スマートタグを利用して、特定のメッセージを表示します。
サンプル5: リファラー URL の表示
add_filter('wpforms_smart_tag_process', 'custom_display_referrer', 10, 3);
function custom_display_referrer($smart_tag, $form_data, $fields) {
if ($smart_tag === '{referrer}') {
return isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '直接訪問';
}
return $smart_tag;
}
このコードは、 {referrer}
スマートタグを利用して、ユーザーが最後に訪れたページのURLを表示します。