AI要約
フォームの機能を強化するために、カスタムスマートタグの作成にご興味はありますか?カスタムスマートタグを埋め込むことを想定している場合、例えばダウンロードリンクをメール通知や確認メッセージに埋め込むなど、カスタムコードスニペットを使用すればプロセスは簡単です。このガイドでは、PHPを使用してカスタマイズされたスマートタグを作成する手順を説明します。
スマートタグは、フォームフィールドや通知メールに特定のデータを動的に取得するための便利な手段です。WPFormsには、現在のページのURLやログイン中のユーザーのメールアドレスなどの情報を抽出できる、豊富な組み込みスマートタグが用意されています。WPForms内の定義済みスマートタグについて包括的に理解するには、ドキュメントを参照してください。
カスタムスマートタグの作成
以下の例では、フォームが完了した後にダウンロードリンクのURLを表示するために特別に設計された新しいカスタムスマートタグを作成する方法をデモンストレーションします。このプロセスには、それぞれ異なる目的を持つ2つのPHP関数が含まれます。
最初の関数はスマートタグの作成を担当します。これは、他のスマートタグに合わせてカスタマイズするために、基本的な名前の変更のみが必要なように設計されています。
2番目の関数は、コードの大部分が実装される場所です。ifステートメント内で、このスマートタグに表示させたい値を取得するために必要なコードを追加する必要があります。
開始するには、両方の関数をウェブサイトにコピー&ペーストし、必要に応じてスマートタグの名前をカスタマイズしてください。スニペットをサイトに追加する場所や方法がわからない場合は、このチュートリアルを確認してください。
/**
* Register the Smart Tag so it will be available to select in the form builder.
*
* @link https://wpforms.com/developers/how-to-create-a-custom-smart-tag/
*/
function wpf_dev_register_smarttag( $tags ) {
// Key is the tag, item is the tag name.
$tags[ 'download_link' ] = 'Download Link';
return $tags;
}
add_filter( 'wpforms_smart_tags', 'wpf_dev_register_smarttag', 10, 1 );
/**
* Process the Smart Tag.
*
* @link https://wpforms.com/developers/how-to-create-a-custom-smart-tag/
*/
function wpf_dev_process_smarttag( $content, $tag ) {
// Only run if it is our desired tag.
if ( 'download_link' === $tag ) {
// Replace our link in this demo with the URL you wish to provide
$link = 'https://yoursite.com/file.pdf';
// Replace the tag with our link.
$content = str_replace( '{download_link}', $link, $content );
}
return $content;
}
add_filter( 'wpforms_smart_tag_process', 'wpf_dev_process_smarttag', 10, 2 );
注意: スマートタグ名には、小文字のラテン文字、数字、およびアンダースコアのみを含めることができます。
フォームの作成
次に、簡単なニュースレターフォームを作成しましょう。ユーザーがニュースレターにサインアップすると、無料のeBookダウンロードリンクを提供することを目指します。これは、WPFormsスマートタグの機能を活用する優れた例となります。このスマートタグが確立されれば、追加のコード調整なしに、将来のフォーム作成に簡単に組み込むことができます。

フォームの作成方法についてサポートが必要な場合は、このドキュメントを確認してください。
新しいカスタムスマートタグの使用
それでは、新しく作成したカスタムスマートタグを使用しましょう。このチュートリアルでは、メール通知にダウンロードリンクのスマートタグを組み込みます。
開始するには、フォームビルダーに移動し、設定をクリックしてから、通知を選択します。通知設定内で、メールメッセージボックスまでスクロールダウンします。スマートタグを表示リンクをクリックし、利用可能なスマートタグを閲覧して、ダウンロードリンクスマートタグを見つけます。それを選択するだけで、通知テンプレートに自動的に追加されます。

よくある質問
ウェブサイトの現在のロケールを動的に追加するスマートタグを作成できますか?
はい、ウェブサイトの現在のロケール(例:「fr」、「de」、「en」)を取得するカスタムスマートタグを作成できます。実装方法は次のとおりです。
/**
* Register the Smart Tag so it will be available to select in the form builder.
*
* @link https://wpforms.com/developers/how-to-create-a-custom-smart-tag/
*/
function wpf_dev_register_smarttag( $tags ) {
// Key is the tag, item is the tag name.
$tags[ 'page_locale' ] = 'Get Locale';
return $tags;
}
add_filter( 'wpforms_smart_tags', 'wpf_dev_register_smarttag', 10, 1 );
/**
* Process the Smart Tag.
*
* @link https://wpforms.com/developers/how-to-create-a-custom-smart-tag/
*
* WordPress get_locale(): https://developer.wordpress.org/reference/functions/get_locale/
*/
function wpf_dev_process_smarttag( $content, $tag ) {
// Only run if it is our desired tag.
if ( 'page_locale' === $tag ) {
// Stores the locale returned by the get_locale() function in the variable $locale
$locale = get_locale();
// Replace the tag with the $locale variable value.
$content = str_replace( '{page_locale}', $locale, $content );
}
return $content;
}
add_filter( 'wpforms_smart_tag_process', 'wpf_dev_process_smarttag', 10, 2 );
このスニペットは、WordPressのget_locale()関数を使用して、「Get Locale」という新しいスマートタグを作成します。
スニペットを追加した後、フォーム、メール通知、または確認メッセージで{page_locale}スマートタグを使用できます。
これで完了です!新しいカスタムスマートタグを正常に作成しました。HTMLフォームフィールド内でそのカスタムスマートタグを処理できるようにしたいですか?もしそうなら、HTMLフィールドでスマートタグを処理する方法の記事をご覧ください。