はじめに
フォームに現在時刻を表示したいですか?WPFormsのスマートタグを使えば、フォームに時刻を表示するスマートタグを作ることができます。このチュートリアルでは、小さなPHPスニペットを使って、各ステップを説明します!
現在時刻のスマートタグの追加
スマート・タグを使うには、まずコード・スニペットを追加して作成する必要があります。
あなたのサイトにコード・スニペットを追加する方法についてヘルプが必要な場合は、こちらのチュートリアルをご覧ください。
/** * Create a custom Smart Tag * * @link https://wpforms.com/developers/how-to-create-a-smart-tag-for-the-current-time */ function wpf_dev_register_smarttag( $tags ) { // Key is the tag, item is the tag name. $tags[ 'current_time' ] = 'Current Time'; return $tags; } add_filter( 'wpforms_smart_tags', 'wpf_dev_register_smarttag' ); /** * Process the Smart Tag. * * @link https://wpforms.com/developers/how-to-create-a-smart-tag-for-the-current-time */ function wpf_dev_process_smarttag( $content, $tag ) { // Only run if it is our desired tag. if ( 'current_time' === $tag ) { date_default_timezone_set( 'US/Eastern' ); $link = date( 'h:i:s A' ); // Replace the tag with our link. $content = str_replace( '{current_time}', $link, $content ); } return $content; } add_filter( 'wpforms_smart_tag_process', 'wpf_dev_process_smarttag', 10, 2 );
それぞれの機能を詳しく見てみよう。
スマートタグの作成
スマート・タグとは何かを定義する前に、まずスマート・タグを作成する必要があります。
wpf_dev_process_smarttag関数はスマートタグを作成し、名前を付けてセットアップします。つまり、フォームビルダーでこのスマートタグを呼び出せるようになります。
スマートタグの定義
タグを作成する関数が呼び出されたら、あとはそのタグを何に使うかを定義するだけだ。今回は、タイムゾーンを定義し、時間フォーマットを設定します。
タイムゾーンの設定や書式についてヘルプが必要な場合は、PHP ドキュメント を参照してください。
wpf_dev_process_smarttag関数でわかるように、タイムゾーンをUS/Easternに設定し、時刻フォーマットを'h:i:s A'にすると、03:12:46 PMと表示されます。
コードを保存すると、フォームビルダーでこの新しいカスタムスマートタグを使用できるようになります。
フォームの作成
いよいよフォームを作成します。フォームの作成にヘルプが必要な場合は、こちらの記事をご覧ください。
フィールドをいくつか追加し、特に新しいスマート・タグとしてデフォルト値を設定する1行テキスト・フィールドを追加します。
デフォルト値を追加するには、単一行テキスト・フォーム・フィールドを選択し、詳細設定タブをクリックします。そこで「スマートタグを表示」をクリックし、先ほど追加したスマートタグが見つかるまでスクロールします。
1行テキスト・フィールドにデフォルト値を設定する方法について、さらにヘルプが必要な場合は、こちらのドキュメントをご覧ください。
これで完了です!これで、現在時刻の新しいスマート・タグが作成されました。フィールドラベル内でスマートタグを処理したいですか?フィールド・ラベル内でスマートタグを処理する方法のチュートリアルをご覧ください。
関連
フィルター参照: