Form Locker Addon を使ってフォームに残りのエントリー数を表示する方法を知りたいですか? 訪問者に残りのエントリー数を知らせたい場合は特に便利です。このチュートリアルでは、PHP を使ってフォームに残りのエントリーを表示する方法を紹介します。
フォームロッカーの qddon では、フォームに送信できるエントリー数を制限することができます。
入力制限に達すると、Form Lockerアドオンは自動的にフォームを閉じます。
私たちのチュートリアルでは、フォームが閉じるまでにあといくつエントリーが残っているかを訪問者に見てもらいたいと思います。
フォームの作成
はじめに、新しいフォームを作成し、フィールドを追加します。このチュートリアルでは、エントリーの名前と メールアドレスのみを収集します。
フォームの作成にヘルプが必要な場合は、こちらのドキュメントをご覧ください。
入場制限の有効化
次に、[設定]タブをクリックして [フォームロッカー]タブを選択し、フォームの入力制限を有効にします。入力制限と制限の下で、トグルを「入力制限を有効にする」にスライドさせ、制限額とフォームが閉じられたときに表示されるメッセージを設定します。
残りのエントリーを表示
最後に、このスニペットをサイトに追加する必要がある。
スニペットをサイトに追加する方法がわからない場合は、こちらのチュートリアルをご覧ください。
/** * Display remaining entry limit. * * @link https://wpforms.com/developers/how-to-display-remaining-entry-limit-number/ */ function wpf_dev_remaining_entries( $form_data ) { // Optional, you can limit to specific forms. Below, we restrict output to // form #1899. if ( absint( $form_data[ 'id' ] ) !== 1899 ) { return; } if ( empty( $form_data[ 'settings' ][ 'form_locker_entry_limit_enable' ] ) ) { return; } $reference = ! empty( $form_data[ 'settings' ][ 'form_locker_entry_limit' ] ) ? (int) $form_data[ 'settings' ][ 'form_locker_entry_limit' ] : 0; $entries_count = wpforms()->entry->get_entries( array( 'form_id' => $form_data[ 'id' ] ), true ); $result = absint( $reference - $entries_count ); echo '<p>' . esc_html( $result ) . __( ' entries remaining', 'text-domain' ) . '</p>'; } add_action( 'wpforms_frontend_output', 'wpf_dev_remaining_entries', 10, 1 );
上記のスニペットのフォームIDを自分のフォームIDに合わせて更新する必要があります。フォームIDを探すのに助けが必要な場合は、こちらのチュートリアルをご覧ください。
コードが追加されると、入力制限はフォームのタイトルの下とフォームフィールドの上に表示されます。
表示される数字は、フォームが読み込まれた時点で決定されます。そのため、ユーザーがフォームを送信する時点では、この数値は正確でない可能性があります。
これだけで、フォームロッカーのフォームに残りのエントリー数を表示することができます。 フォームの送信数を表示したいですか? チュートリアル「特定のフォームのエントリー送信数を表示する方法」をご覧ください。