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