Descrição

O wpforms_frontend_output_before é acionada antes de um formulário ser exibido no front-end do site, somente se o formulário existir e contiver campos.

Parâmetros

$form_data
(array) Configurações/dados de formulários processados, preparados para serem usados posteriormente.
$form
(WP_Post) Objeto de tipo de postagem de formulário.

Fonte

wpforms/src/Frontend/Frontend.php

Mais informações

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

Em alguns casos, a ação pode ser acionada, mas o formulário não será exibido, como a exibição de uma mensagem de confirmação de formulário ou o acionamento da ação wpforms_frontend_load filtro.

Uma ação alternativa a ser considerada é wpforms_frontend_output_after, que funciona de forma semelhante, mas só é acionada depois que o formulário é exibido.

Exemplos

Em nosso trecho de código de exemplo, que você verá abaixo, verificaremos primeiro se o ID do formulário é igual a 5. Se for, enviaremos um link para baixar 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 o código. A remoção dessa verificação seria executada 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 de seu formulário