ご注意!

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

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

閉じる

残りのエントリー制限数を表示する方法

Form Locker Addonで、フォームの残りエントリー数を表示する方法を知りたいですか?これは、訪問者に残りエントリー数がいくつあるかを知ってもらいたい場合に特に役立ちます。このチュートリアルでは、PHPを使用してフォームに残りのエントリー数を表示する方法を説明します。

Form Locker Addon内で、フォームに送信できるエントリー数を制限することを選択できます。

そのエントリー制限に達すると、Form Lockerアドオンは自動的にフォームを閉じます。

このチュートリアルでは、訪問者にフォームが閉じる前に残りエントリー数がいくつあるかを表示してもらいたいと考えています。

フォームの作成

まず、新しいフォームを作成し、フィールドを追加します。このチュートリアルの目的では、エントリーのために名前メールアドレスのみを収集します。

フォームの作成についてサポートが必要な場合は、こちらのドキュメントをご覧ください

エントリー制限を有効にする

次に、設定タブをクリックし、次に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を見つけるのに支援が必要な場合は、このチュートリアルをご覧ください。

コードが追加されると、エントリー制限がフォームのタイトルの下に、フォームフィールドの上に表示されます。

これで、フォームに残りのエントリー数を表示していることがわかります

表示される数値は、フォームが読み込まれたときに決定されます。その結果、ユーザーがフォームを送信するまでに、この数値が正確でない場合があります。

これで、Form Lockerフォームに残りのエントリー数を表示するために必要なすべてが揃いました。フォームが受け取ったフォーム送信数を表示する方法を知りたいですか?特定のフォームのエントリー送信数を表示する方法に関するチュートリアルをご覧ください。

参照アクション

wpforms_frontend_output