AI要約
特定の時間帯に基づいてフォームをスケジュールすることに興味がありますか?これは簡単に実現できます。指定した時間帯にフォームを表示または非表示にするように簡単に設定できます。
このチュートリアルでは、提供されたコードスニペットを使用して、この機能をシームレスに実装するプロセスをガイドします。
早速始めましょう。フォームのスケジュール設定を簡単にしましょう!
フォームの作成
まず、新しいフォームを作成し、フィールドを追加します。フォームの作成方法についてサポートが必要な場合は、こちらの役立つガイドをご覧ください。

スニペットの追加
フォームが作成されたら、このスニペットをサイトに追加する必要があります。スニペットをサイトに追加する方法や場所についてサポートが必要な場合は、こちらのチュートリアルをご確認ください。
/* Hide a specific form based on the time of day
*
* @link https://wpforms.com/developers/how-to-schedule-a-form-base-on-the-time-of-day/
*/
function wpf_dev_form_open_check( $form_data, $form ) {
// Only process this snippet on form ID 3602
if ( absint( $form_data[ 'id' ] ) !== 3602 ) {
return;
}
// H is for 24 hour format and h is for the 12 hour format
// Get the current 24 hour format in hours only, this is pulled from your server
$hours = intval(date('H'));
// The form will be closed to any submissions from 8PM (20 in 24-hour time format) to 8AM
if ( $hours >= 20 && $hours < 8 ) {
// Display a message stating the form is currently closed
_e( 'We\'re sorry, this contest is only open for entry everyday from 8:00 AM EST to 8:00 PM EST. Please check back tomorrow for your raffle entry.', 'textdomain' );
// Run a separate script to hide the form if it is currently closed to submissions
echo '<script type="text/javascript">';
echo 'jQuery("#wpforms-form-3602").hide();';
echo '</script>';
}
}
add_action( 'wpforms_frontend_output_after', 'wpf_dev_form_open_check', 10, 2 );
このスクリプトには注意点がいくつかあります。このスクリプトはフォームID 3602でのみ実行されるため、このID番号をご自身のフォームに合わせて更新する必要があります。
フォームID番号の見つけ方については、こちらのチュートリアルをご覧ください。
次に、$hours変数は、ユーザーのブラウザやコンピューターの現在の時間ではなく、サーバー上の現在の時間のみを参照します。また、大文字のHを使用して24時間形式で時間を取得します。12時間形式を使用したい場合は、Hをhに変更してください。選択した形式によっては、if ( $hours >= 20 && $hours < 8 )を更新する必要がある場合があります。
_eステートメントで、フォームが閉じているときに訪問者に表示したいメッセージに合わせて、訪問者に表示されるメッセージを更新することを忘れないでください。
最後に、スクリプトの最後の部分で、フォームID 23をecho 'jQuery("#wpforms-form-3602").hide();';を使用して非表示にします。3602をご自身のフォームIDに合わせて更新することを忘れないでください。
訪問者がフォームが閉じている間にページを訪問すると、メッセージが表示されます。

これで、時間帯に基づいてフォームをスケジュールするために必要なすべてが揃いました!
次に、送信ボタンを表示または非表示にしますか?WPFormsの送信ボタンを条件付きで表示する方法に関するチュートリアルをご覧ください。
関連
アクション参照:wpforms_frontend_output_after