Como alterar o tempo limite no Modern File Upload

Visão geral

Gostaria de alterar o tempo limite para carregar ficheiros através do campo de formulário Modern File Upload? Isto pode ser particularmente útil quando espera que sejam carregados ficheiros grandes através do seu formulário.

Por defeito, o tempo limite definido no campo Modern File Upload está definido para 30 segundos ou 30000 milissegundos, com um pequeno snippet de PHP pode facilmente alterar este tempo limite para o que quiser.

Configuração

Tudo o que precisa de fazer é adicionar este snippet ao seu site.

Se não tiver a certeza de onde ou como adicionar snippets ao seu site, consulte este tutorial.

No nosso exemplo, estamos a alterar o tempo limite de 30000 milissegundos (30 segundos) para 60000 milissegundos (60 segundos).

/**
 * 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 );

Basta definir o valor de 60000 para o valor pretendido.

Tenha em atenção que o facto de alterar este número não significa que a sua empresa de alojamento não tenha também um limite global definido para as suas funções de timeout, também conhecidas como PHP max_execution_time. Terá de contactar a sua empresa de alojamento para aumentar este valor no seu servidor, caso necessite de o fazer também.

E já está! Aumentou com êxito o tempo limite de 30 segundos (30000 milissegundos) para 60 segundos (60000 milissegundos). Gostaria de acompanhar também os envios de formulários bem-sucedidos com o Google Analytics sem a necessidade de um plug-in? Confira este snippet em Como rastrear envios de formulários usando o Google Analytics 4.

Referência da ação: wpforms_wp_footer