<html lang="ja-jp" dir="ltr"><head></head><body>### [各フォーム送信時にカウントを増分する方法](https://wpforms.com/developers/how-to-increment-a-count-on-each-form-submission/)

**公開日:** 2021年2月9日
**著者:** Umair Majeed

**抜粋:** このチュートリアルでは、PHPを使用して非表示フィールド内の各エントリのカウントを増分する方法を説明します。

**コンテンツ:**

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

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

---

## フォームの設定

開始するには、[新しいフォームを作成](https://wpforms.com/docs/creating-first-form/)するか、既存のフォームを編集してフォームビルダーを開きます。

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

![非表示フィールドを追加](https://wpforms.com/wp-content/uploads/2024/10/Select-the-Hidden-Field-WPForms-1024x405.png)コードスニペットを追加する際に必要になるため、非表示フィールドのIDをメモしておいてください。これやフォームIDを見つけるのに役立つ場合は、[フォームIDとフィールドIDを見つける方法](https://wpforms.com/developers/how-to-locate-form-id-and-field-id/)ガイドを確認してください。

![非表示フィールドID](https://wpforms.com/wp-content/uploads/2024/10/hidden-field-ID-1024x474.png)## コードスニペットの追加

次のコードスニペットは、フォームエントリをカウントし、新しい各送信に増分番号を割り当てます。

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

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

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

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

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

## カウンターのテスト

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

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

## よくある質問

#### Q: この番号にプレフィックスを割り当てることができますか？

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

```

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

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

これで、各送信に自動的に増分番号を割り当てるフォームができました。

フォーム送信ごとに一意のID番号を割り当てたいですか？[フォームエントリごとに一意のIDを作成する方法](https://wpforms.com/developers/how-to-create-a-unique-id-for-each-form-entry/)ガイドを確認してください。

## 参照フィルター

[wpforms\_process\_filter](https://wpforms.com/developers/wpforms_process_filter/ "wpforms_process_filterフィルターの使用")

**カテゴリ:** エントリ

**タグ:** PHP

---</body></html>