Atenção!

Este artigo contém código PHP e destina-se a programadores. Oferecemos este código como cortesia, mas não prestamos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação adicional, consulte o tutorial da WPBeginner sobre como adicionar código personalizado.

Ignorar

Descrição

O wpforms_frontend_output é executado antes de um formulário ser exibido no frontend do site e dentro do container HTML do formulário. Só será executado se o formulário existir e contiver campos.

Parâmetros

$form_data
(array) Configurações/dados do formulário processados, preparados para serem usados posteriormente.
$form
(WP_Post) Tipo de post do formulário.

Origem

wpforms/src/Frontend/Frontend.php

Mais Informações

Embora wpforms_frontend_output só seja executado para formulários válidos e não vazios, ele é executado no início do processo de renderização da saída. No entanto, o que você colocar com esta ação será exibido dentro do container HTML form.

Uma ação alternativa a considerar é wpforms_frontend_output_before, pois funciona de forma semelhante, exceto que estará fora do container HTML do formulário.

Exemplos

No nosso exemplo, temos um formulário que será desativado no dia de Natal. Queremos exibir uma mensagem acima do formulário que calcule a data de hoje menos o dia de Natal e dê ao utilizador uma contagem de quantos dias faltam para submeter o formulário.

/**
 * Output something before your form(s).
 * 
 * @link  https://wpforms.com/developers/wpforms_frontend_output/
 *
 * @param array   $form_data Form data and settings.
 * @param object  $form      Form post type.
 */

function wpf_dev_frontend_output( $form_data, $form ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #898.
    if ( absint( $form_data[ 'id' ] ) !== 898 ) {
    return;
    }

	// Set the PHP timezone
	date_default_timezone_set( 'America/New_York' );

	// Set the variable to Christmas day
	$christmasDay = strtotime( 'December 25' );

	// Get the current date
	$time = time();

	// Calculate how many days from today's date to Christmas day	
	$days = ceil(($christmasDay - $time)/60/60/24);

	echo '<div class="countdown_wrapper"> <p>' . __( 'This contest closes on <strong>12/25/2024</strong>, enter now! There are only <strong>', 'text-domain' ) . $days . __( '</strong> days left to enter!', 'text-domain' ) . '</p></div>';
	
}

add_action( 'wpforms_frontend_output', 'wpf_dev_frontend_output', 10, 2 );

Artigos de Referência

Como Apresentar o Número Restante do Limite de Entradas