ご注意!

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

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

閉じる

すでにフォームを送信したユーザーからのエントリーの上書き

概要

すでにフォームを送信したユーザーのエントリを上書きしますか?場合によっては、ユーザーが各フォームに1つのエントリしか送信できないように、エントリを上書きしたい場合があります。簡単なPHPスニペットを使用すると、サイトで1つのフォームまたはすべてのフォームに対してこれを有効にできます。

セットアップ

デフォルトでは、Form Lockerアドオンを使用していない限り、すべてのユーザーはすべてのフォームに好きなだけ多くのエントリを送信できます。

ユーザーはフォームの設定に基づいて、できるだけ多くのエントリを送信できます

以下のスニペットを使用すると、このコードはユーザーIDからこのフォームの以前のエントリを検索し、最新のエントリでエントリを上書きするため、メンバーは作成した各フォームに1つのフォームエントリしか持てなくなります。

サイトにコードスニペットを追加する方法についてサポートが必要な場合は、このチュートリアルを確認してください

注意: ユーザーがログインしていない場合、このコードスニペットは実行されません。このコードスニペットは、ユーザーがフォームエントリを送信するときにログインしている場合にのみ実行できます。

このユーザーが新しいエントリを送信すると、そのエントリは、このフォームのすべて以前のエントリを上書きします。

このコードスニペットを使用すると、同じユーザーが以前に送信したエントリを上書きできるようになりました

これで、特定のユーザーIDによって以前に送信されたエントリを上書きする方法を学びました。

次に、ユーザーがすでにログインしている場合に訪問者にメッセージを表示する方法を学びたいですか?ユーザーがすでにログインしている場合にメッセージを表示するチュートリアルをご覧ください。

アクションリファレンス: wpforms_process_entry_save