ご注意!

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

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

閉じる

部分エントリーの有効期限を変更する方法

保存して再開アドオンを使用する際に、一時的なエントリーの有効期限を変更しますか?簡単なスニペットを使用すると、これらのエントリーが削除される際のデフォルト設定をビジネスのニーズに合わせて簡単に変更できます。この記事では、PHPフィルターを使用してこれを実現する方法を説明します。

デフォルトでは、一時的なエントリーは30日後に自動的に削除されます。

フォームの作成

まず、フォームを作成し、フィールドを追加します。次に、フォームの保存して再開設定を有効にする必要があります。

フィールドを追加した後、設定に移動し、保存して再開タブでこのフォームの保存して再開をオンにします

このタイプのフォームの作成についてサポートが必要な場合は、こちらの役立つガイドをご覧ください

有効期限の変更

次に、スニペットをサイトに追加します。スニペットをサイトに追加する方法と場所についてサポートが必要な場合は、こちらのチュートリアルをご覧ください

/*
 * Set the number of days to delete partial entries when using the Save and Resume addon
 *
 * @link https://wpforms.com/developers/how-to-change-the-expiry-date-on-partial-entries/
 */

function wpf_dev_delete_expired_entries( $expire_period ) {
 
    // deleted partial entries after 15 days
    return '-15 days'; 

}

add_filter( 'wpforms_save_resume_tasks_deleteexpiredentriestask_expire_period', 'wpf_dev_delete_expired_entries', 10, 1 );

上記のスニペットは、一時的なエントリーを削除するためのデフォルトの30日間設定を上書きし、15日間に変更します。

これで、一時的なエントリーの有効期限を変更する準備が整いました!保存して再開のメール通知の件名を変更しますか?保存して再開のメール通知の件名を変更する方法のチュートリアルをご覧ください。

参照フィルター

wpforms_save_resume_tasks_deleteexpiredentriestask_expire_period

よくある質問

Q:一時的なエントリーがまだ表示されるのはなぜですか?

A: このフィルターで有効期限を変更すると、これらのエントリーを削除に関連するタスクを手動で実行する必要が生じる場合があります。これを行うには、WordPress管理画面のWPForms » ツール » スケジュールされたアクションに移動し、保留中セクションからwpforms_save_resume_cleanアクションを探します。このタスクの下に、実行またはキャンセルのオプションが表示されます。実行を選択して、このタスクを手動で実行し、これらのエントリーを削除します。

このフィルターのデフォルト設定を変更した後、一時的なエントリーを削除するタスクを必ず手動で実行してください

これにより、タスクが手動でトリガーされ、これらのエントリーが削除されます。

Q:これは常に日数でなければなりませんか?

A: 全くそんなことはありません。このスニペットを使用すれば、分単位で使用することもできます。

/*
 * Set the number of days to delete partial entries when using the Save and Resume addon
 *
 * @link https://wpforms.com/developers/how-to-change-the-expiry-date-on-partial-entries/
 */

function wpf_dev_delete_expired_entries( $expire_period ) {
 
    // delete partials after 1 minute
    return '-60 seconds'; 

}

add_filter( 'wpforms_save_resume_tasks_deleteexpiredentriestask_expire_period', 'wpf_dev_delete_expired_entries', 10, 1 );