モダンファイルアップロードのタイムアウトを変更する方法

概要

モダンファイルアップロードフォームフィールドからファイルをアップロードする際のタイムアウトを変更したいですか? これは、フォームから大きなファイルがアップロードされることを想定している場合に特に役立ちます。

デフォルトでは、Modern File Uploadフィールドのタイムアウトは30秒または30000ミリ秒に設定されています。

セットアップ

必要なのは、このスニペットをあなたのサイトに追加することだけだ。

あなたのサイトにスニペットを追加する場所や方法がわからない場合は、こちらのチュートリアルをご覧ください

この例では、タイムアウトを30000ミリ秒(30秒)から60000ミリ秒(60秒)に変更している。

/**
 * Change the timeout on the modern file upload from 30 to 60 seconds.
 *
 * @link https://wpforms.com/developers/how-to-change-the-timeout-on-the-modern-file-upload/
 */

function wpf_dev_modern_file_upload_timeout() {
	?>
	<script type="text/javascript">
		window.addEventListener( 'load', function() {
			if ( typeof wpforms.dropzones === 'undefined' )  {
				return;
			}
			wpforms.dropzones.forEach(function( dropzone ) {
				dropzone.options.timeout = 60000; // The timeout for the XHR requests in milliseconds.
			});
		} );
	</script>
	<?php
}
add_action( 'wpforms_wp_footer', 'wpf_dev_modern_file_upload_timeout', 30 );

60000を好きな値に設定すればいい。

この数値を変更したからといって、ホスティング会社がタイムアウト関数にグローバルな上限を設定しないとは限らないことに注意してください。 max_execution_time.この量を増やす必要がある場合は、ホスティング会社に連絡して増やす必要があります。

これで完了です! これでタイムアウトを30秒(30000ミリ秒)から60秒(60000ミリ秒)に増やすことができました。 プラグインを使わずに Google Analytics でフォーム送信の成功もトラッキングしたいですか? Google Analytics 4 を使ってフォーム送信をトラッキングする方法をご覧ください。

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