ご注意!

この記事には PHP コードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

現在時刻のスマートタグを作成する方法

はじめに

フォームに現在時刻を表示しますか? 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と表示されます。

コードを保存すると、フォームビルダーでこの新しいカスタムスマートタグを使用できるようになります。

フォームの作成

次にフォームを作成します。フォームの作成にヘルプが必要な場合は、こちらの記事をご覧ください

いくつかのフィールドを追加し、特にデフォルト値を新しいスマートタグに設定した一行テキストフィールドを追加します。

デフォルト値を追加するには、一行テキストフォームフィールドを選択し、[高度な設定]タブをクリックします。そこに表示されたら、[スマートタグを表示]をクリックし、追加したばかりのスマートタグが見つかるまでスクロールします。

コードがサイトに追加されると、フォームビルダーで現在時刻のスマートタグを使用できるようになります

一行テキストフィールドのデフォルト値の設定方法についてさらにヘルプが必要な場合は、こちらのドキュメントをご確認ください

これで完了です!現在時刻の新しいスマートタグを作成しました。フィールドラベル内でスマートタグを処理しますか?フィールドラベルでスマートタグを処理する方法のチュートリアルをご覧ください。

フィルター参照: