ご注意!

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

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

閉じる

フォーム送信ごとにカウントを増やす方法

フォーム送信ごとにカウントを増やすことをお勧めしますか?簡単なコードスニペットを使用すると、新しいエントリごとに増加する非表示フィールド内に自動インクリメントカウンターを追加できます。この機能は、送信を順番に追跡したり、一意の参照番号を作成したりするのに特に役立ちます。

このガイドでは、新しいエントリごとに増加するインクリメンタルカウンターを設定する方法を説明します。


フォームの設定

まず、新しいフォームを作成するか、既存のフォームを編集してフォームビルダーを開きます。

次に、カウンターを機能させるには、非表示フィールドを追加する必要があります。これは、Fancy Fields セクションの下にあります。ユーザーはこのフィールドをフォーム上で表示しませんが、バックグラウンドでカウンター値を保存します。

非表示フィールドを追加

コードスニペットを追加する際に必要になるため、非表示フィールドのIDをメモしておいてください。これやフォームIDの見つけ方がわからない場合は、フォームとフィールドIDの見つけ方ガイドを参照してください。

非表示フィールドID

コードスニペットの追加

次のコードスニペットは、フォームのエントリをカウントし、新しい送信ごとにインクリメンタル番号を割り当てます。

このスニペットは、まず送信されたフォームが指定されたフォームIDと一致するかどうかを確認することで機能します。一致が見つかると、そのフォームの既存のエントリをすべてカウントし、1を加えて新しいエントリ番号を作成します。

この番号は、先頭にゼロを追加して非表示フィールドに保存されます。このプロセスは、誰かがフォームを送信するたびに自動的に行われます。

カウンターのカスタマイズ

特定のフォームに合わせて、コードスニペットの3つの主要な値をカスタマイズする必要があります。

  1. 9行目で、1000を独自のフォームIDに変更する必要があります。
  2. 16行目で、非表示フィールドのIDに一致するように15を置き換えます。
  3. 19行目では、数字に表示される桁数を設定する3が表示されます。コードは、すべての数字を同じ長さにするために先頭にゼロを追加します。たとえば、3桁の場合、数字は001、002、003のようになります。

カウンターのテスト

コードスニペットを追加してカスタマイズしたら、すべてが正しく機能することを確認する時間です。フォームからテストエントリを送信し、WPForms » Entriesでエントリを確認してください。非表示フィールドに保存されたインクリメンタル番号が表示されるはずです。もう1つのテストエントリを送信して、番号が期待どおりに増加することを確認してください。

注意: この番号をメール通知や確認メッセージに表示したい場合は、フォームのNotificationsまたはConfirmations設定のいずれかのメッセージに{field_id="15"}を追加するだけです(15を実際の非表示フィールドIDに置き換えてください)。

よくある質問

Q: この番号にプレフィックスを付けることはできますか?

A:もちろんです!カウントの前に文字を追加する例を次に示します。カウントの前にorder-を追加します。コードスニペットの23行目を変更することで、これを行うことができます。

$fields[$my_field_id]['value'] = 'ORDER-' . zeroise($new_total_entries, $min_digits);

これはORDER-001ORDER002のように表示されます。「ORDER」は、「REF」、「Ticket」、または必要に応じた任意のプレフィックスに変更できます。

これで、新しい送信ごとに連番を自動的に割り当てるフォームができました。

フォームの送信ごとに一意のID番号を割り当てたいですか?フォームエントリに一意のIDを作成するガイドをご覧ください。

参照フィルター

wpforms_process_filter