すでにフォームを送信したユーザーの入力内容を上書きする

概要

すでにフォームを送信したユーザーのエントリーを上書きしたいですか?場合によっては、ユーザーが各フォームで一度しか送信できないようにエントリを上書きしたいこともあるでしょう。小さな PHP スニペットを使うことで、1 つのフォームだけ、あるいはすべてのフォームに対してこの処理を行うことができます。

セットアップ

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

ユーザーは、フォームの設定に基づき、いくつでもエントリーを提出することができます。

以下のスニペットを使用すると、このコードはユーザーIDからこのフォームの過去のエントリーを検索し、最新のエントリーで上書きします。

コード・スニペットをサイトに追加する際にヘルプが必要な場合は、こちらのチュートリアルをご覧ください

注意:ユーザーがログインしていない場合、このコード・スニペットは実行されません。このコード・スニペットは、ユーザーがログインしている場合にのみ実行されます。

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

このコード・スニペットを使えば、同じユーザーが以前に投稿したエントリーを上書きできる。

以上です!これで、特定のユーザーIDによって投稿されたエントリーを上書きする方法を学んだことになる。

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

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