Resumo de IA
Descrição
A ação wpforms_frontend_output_before é executada antes de um formulário ser exibido no front-end do site, apenas 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) Objeto do tipo post do formulário.
Origem
wpforms/src/Frontend/Frontend.php
Mais Informações
Embora wpforms_frontend_output_before só seja executada para formulários válidos e não vazios, ela é executada no início do processo de renderização da saída.
Em alguns casos, a ação pode ser executada, mas o formulário não será exibido, como ao exibir uma mensagem de confirmação do formulário ou ao acionar o filtro wpforms_frontend_load.
Uma ação alternativa a considerar é wpforms_frontend_output_after, pois funciona de forma semelhante, exceto que só é executada depois de o formulário ser exibido.
Exemplos
No trecho de código de exemplo que verá abaixo, vamos primeiro verificar se o ID do formulário é igual a 5. Se for, exibiremos um link para descarregar o catálogo digital.
Lembre-se de alterar o ID do formulário de 5 para corresponder ao ID específico do formulário no qual pretende executar o seu código. Remover essa verificação faria com que fosse 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 );