ご注意!

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

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

閉じる

日付スマートタグをカスタマイズする方法

スマートタグを使用して、フォームの日付の表示方法をカスタマイズしますか? WPFormsには現在の日付を表示するための組み込みスマートタグが含まれていますが、ニーズに合わせてその形式をカスタマイズできます。

このガイドでは、フィールドラベルでスマートタグを使用する方法と、日付スマートタグの形式をカスタマイズする方法を説明します。

スマートタグについて

始める前に、利用可能なすべてのデフォルトオプションについて学ぶために、スマートタグに関する包括的なガイドを確認することをお勧めします。このチュートリアルでは、ラベルに現在の日付が含まれるチェックボックスフィールドを持つフォームの作成に焦点を当てます。

フォームの作成

利用規約の必須チェックボックスが付いたデジタルブックアップロードフォームを作成しましょう。このチェックボックスのラベルには現在の日付が含まれます。

フォームの作成にヘルプが必要な場合は、最初のフォームの作成ガイドを参照してください。

フォームを作成し、チェックボックスフィールドを追加したら、このフィールドのラベル内に次のスマートタグを追加します。

{date format="m/d/Y"}
チェックボックスフォームフィールドをフォームに追加し、フィールドラベル内に日付スマートタグを追加します

フィールドラベルでのスマートタグの有効化

まず、チェックボックスフィールドのラベルでスマートタグの使用を許可するコードスニペットを追加する必要があります。カスタムコードをサイトに追加する方法がわからない場合は、コードスニペットの追加ガイドを参照してください。

/**
 * Enable Smart Tags in Checkbox field labels
 *
 * @link https://wpforms.com/developers/how-to-customize-date-format-in-the-date-smart-tag/
 */
function wpf_dev_checkbox_choices_process_smarttags( $field, $deprecated, $form_data ) {
    foreach ( $field[ 'choices' ] as $key => $choice ) {
        if ( ! empty( $choice[ 'label' ] ) ) {
            $field[ 'choices' ][ $key ][ 'label' ] = apply_filters(
                'wpforms_process_smart_tags', 
                $choice[ 'label' ], 
                $form_data 
            );
        }
    }
    return $field;
}
add_filter( 'wpforms_checkbox_field_display', 'wpf_dev_checkbox_choices_process_smarttags', 10, 3 );

このコードは、すべてのフォームのチェックボックスフィールドラベルでスマートタグの使用を有効にします。

日付形式のカスタマイズ

デフォルトでは、日付スマートタグはm/d/Y形式を使用します。各部分の意味は次のとおりです。

  • m/ : 先頭にゼロが付いた月 (01-12)
  • d/ : 先頭にゼロが付いた日 (01-31)
  • Y : 4桁の年 (例: 2024)

日付形式をカスタマイズするには、スマートタグの形式パラメーターを変更します。たとえば、次のようになります。

{date format="Y-m-d H:i:s"}

この形式は次のように表示されます。

  • 年 (Y) が先頭
  • 次に月 (m)
  • その次に日 (d)
  • さらに、時間 (H)、分 (i)、秒 (s)
日付のデフォルト形式を変更することで、フォームごと、さらにはフィールドごとに必要な日付形式を選択できます

高度な日付カスタマイズ

日付に日数を追加したいですか? 現在の日付に2日追加するスニペットを次に示します。

/**
 * Add 2 days to the Date Smart Tag
 *
 * @link https://wpforms.com/developers/how-to-customize-date-format-in-the-date-smart-tag/
 */
function wpf_dev_process_smarttag_date_plus_two( $content, $tag ) {
    // Only run if it is our desired tag
    if ( 'current_date_plus_two' === $tag ) {
        date_default_timezone_set( 'US/Eastern' );
        $link = date( 'Y-m-d', strtotime( '+2 days' ) ); // Output current date plus 2 days
        
        // Replace the tag with our link
        $content = str_replace( '{current_date_plus_two}', $link, $content );
    }
    return $content;
}
add_filter( 'wpforms_smart_tag_process', 'wpf_dev_process_smarttag_date_plus_two', 10, 2 );

有効な日付形式はすべて、公式PHPドキュメントで見つけることができます。

これで、日付スマートタグをカスタマイズする方法がわかりました。次に、フォームをさらに強化したいですか? 詳細については、フォームエントリごとに一意のIDを作成する方法ガイドを確認してください。

参照フィルター

wpforms_checkbox_field_display