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