Resumo de IA
Descrição
O filtro wpforms_post_submissions_post_args é usado para popular todos os argumentos da postagem, como título, tipo de postagem, etc., ao usar o addon Post Submissions do WPForms.
Parâmetros
- $post_args
- (array) (Obrigatório) Argumentos do envio do formulário, como ID da Categoria, ID da Tag, ID do Autor, etc.
- $form_data
- array Configurações/dados do formulário.
- $fields
- array Valores/propriedades dos campos de entrada sanitizados.
Fonte
wpforms-post-submissions/class-post-submissions.php
Mais Informações
O wpforms_post_submissions_post_args é acionado imediatamente quando a submissão é processada para definir o título da postagem, categoria, etc., dentro da postagem.
Exemplos
No código de exemplo, você verá que primeiro verificamos o ID do formulário para garantir que ele corresponda ao formulário que está sendo direcionado. Em seguida, verificamos um campo específico (pelo ID do campo) para ver se ele está vazio.
Apenas lembre-se de alterar o ID do formulário de 1378 para corresponder ao seu ID de formulário e alterar o '10' para corresponder ao seu ID de campo.
Se precisar de ajuda para encontrar seus IDs de formulário e campo, revise este tutorial.
Verificaremos se o dropdown corresponde a FAQ e, se sim, o alteraremos do tipo de postagem post para my_faq.
/**
* Action that fires during form submission.
*
* @link https://wpforms.com/developers/wpforms_post_submissions_post_args/
*
* @param array $post_args Sanitized entry field. values/properties.
* @param array $form_data Form data and settings.
* @param array $fields Sanitized entry field values/properties.
*
* @return array
*/
function wpf_dev_post_submissions_post_args( $post_args, $form_data, $fields ) {
// Only run this snippet on the form ID 1378
if ( absint( $form_data[ 'id' ] ) !== 1378 ) {
return $fields;
}
// If the field ID is 10 and the value of that field is equal to FAQ process the snippet
if ( ! empty( $fields[ '10' ] ) && $fields[ '10' ][ 'value' ] === 'FAQ' ) {
$post_args[ 'post_type' ] = 'my_faq';
}
return $post_args;
}
add_filter( 'wpforms_post_submissions_post_args', 'wpf_dev_post_submissions_post_args', 10, 3 );