ご注意!

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

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

閉じる

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

概要

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

デフォルトでは、モダンファイルアップロードフィールドのタイムアウトは30秒または30000ミリ秒に設定されていますが、簡単なPHPスニペットを使用すると、このタイムアウトを好きなように簡単に変更できます。

セットアップ

このスニペットをサイトに追加するだけです。

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

この例では、タイムアウトを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を希望の値に変更するだけです。

この数値を変更しただけでは、ホスティング会社がPHP max_execution_timeとしても知られるタイムアウト関数にグローバルキャップを設定していないとは限りません。この量を増やす必要がある場合は、サーバーで増やすためにホスティング会社に連絡する必要があります。

これで完了です! タイムアウトを30秒(30000ミリ秒)から60秒(60000ミリ秒)に正常に増やしました。 プラグインなしでGoogleアナリティクスでフォーム送信を正常に追跡することもできますか? Googleアナリティクス4を使用してフォーム送信を追跡する方法のスニペットをご覧ください。

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