ご注意!

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

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

閉じる

説明

deleteuploadedfiles クラスは、メール通知後にアップロードされたファイルを削除するように設計されています。この機能は、エントリーの保存とメディアライブラリへの保存が無効になっている場合に特に役立ちます。

WPForms では、親テーマファイルを直接編集することは強く推奨されません。親テーマに直接加えた変更は、テーマのアップデート中に上書きされ、カスタマイズが失われるリスクがあります。希望する変更を加えるには、子テーマを作成して使用することをお勧めします。

メソッド

  1. テーマのルートディレクトリ内に class-delete-uploaded-files.php という名前のファイルを作成して、クラスをサポートするための依存関係を確立します。
  2. このファイルを作成したら、functions.php を開き、次のスニペットを挿入します。functions ファイルへの変更を保存します。
require __DIR__ . '/class-delete-uploaded-files.php';

( new \WPF\DeleteUploadedFiles() )->hooks();

ソース

ファイル: class-delete-uploaded-files.php

使用方法

このクラスを利用するには、いくつかのセットアップ要件があります。

エントリーが無効になっている

エントリーの保存を無効にするには、設定 » 一般 を選択します。WordPress へのエントリー情報の保存を無効にする が有効になっていることを確認します。
エントリーの保存を無効にする

メディアライブラリへのアップロードを無効にする

次に、ファイルアップロード フィールドの WordPress メディアライブラリにファイルを保存する が無効になっていることを確認します。フィールドをクリックし、詳細設定 タブで設定が無効になっていることを確認します。

メディアライブラリへのファイルの保存を無効にする

メール通知にファイルを添付する

最後に、ファイル添付がメール通知で有効になっていることを確認します。この手順を完了するには、設定 » 通知 に移動し、詳細設定 オプションで ファイルアップロード添付を有効にする を有効にします。ファイルアップロードフィールド ドロップダウンからアップロードフィールドを選択します。

ファイルアップロード添付を有効にする

これらの設定が完了すると、フォームへのファイルアップロードは、アップロードされたファイルを添付しますが、サーバーには保存されません。

追加(オプション)

さらに、このクラスは WP Media Library からアップロードされたファイルを削除することを許可します。この機能はデフォルトでオフになっています。一部のユーザーは、特に Post Submissions アドオン を使用していてサムネイルにファイルストレージが必要な場合に、WP Media にアップロードされたファイルを保持することを好む可能性があるためです。それにもかかわらず、ユーザーが WP Media Library からアップロードされたファイルと関連ファイルを両方削除したい場合は、class-delete-uploaded-files.php ファイルの DELETE_MEDIA_FILES 定数を true に変更する必要があります。