Descrição

O wpforms_frontend_output_before é activada antes de um formulário ser apresentado no front end do sítio, apenas se o formulário existir e contiver campos.

Parâmetros

$form_data
(matriz) Definições/dados de formulários processados, preparados para serem utilizados posteriormente.
$formulário
(WP_Post) Objeto do tipo de formulário de publicação.

Fonte

wpforms/src/Frontend/Frontend.php

Mais informações

Enquanto wpforms_frontend_output_before só é ativado para formulários válidos não vazios e é executado logo no início do processo de processamento da saída.

Em alguns casos, a ação pode ser activada mas o formulário não é apresentado, tal como a apresentação de uma mensagem de confirmação do formulário ou o acionamento da ação wpforms_frontend_load filtro.

Uma ação alternativa a considerar é wpforms_frontend_output_after, que funciona de forma semelhante, mas só é activada depois de o formulário ser apresentado.

Exemplos

No nosso exemplo de fragmento de código, que verá abaixo, vamos verificar primeiro se o ID do formulário é igual a 5. Se for, enviaremos um link para descarregar o catálogo digital.

Lembre-se apenas de alterar o ID do formulário de 5 para corresponder ao ID do formulário específico no qual você deseja executar seu código. Removendo essa verificação, o código será executado para todos os formulários.

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

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

    // Run code or see the example echo statement below.
    _e( '<p>If you would like to download our digital catalog, <a href="http://yourlinkurl.com/" target="_blank">click here</a>.</p>', 'plugin-domain' );

}

add_action( 'wpforms_frontend_output_before', 'wpf_dev_frontend_output_before', 10, 2 );

Artigos de referência

Como adicionar um vídeo antes do seu formulário