Descrição
O wpforms_post_submissions_post_args
é usado para preencher todos os argumentos do envio, como título, tipo de postagem, etc., ao usar o filtro Complemento de envios de postagens do WPForms.
Parâmetros
- $post_args
- (array) (Obrigatório) Argumentos do envio da postagem, como ID da categoria, ID da tag, ID do autor etc.
- $form_data
- array Configurações/dados do formulário.
- $campos
- array Valores/propriedades do campo de entrada sanitizados.
Fonte
wpforms-post-submissions/class-post-submissions.php
Mais informações
O wpforms_post_submissions_post_args
é acionado imediatamente quando o envio é processado para definir o título da postagem, a 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.
Lembre-se apenas de alterar o ID do formulário de 1378 para corresponder ao ID do formulário e alterar o "10" para corresponder ao ID do campo.
Se precisar de ajuda para saber onde encontrar seus IDs de formulário e campo, consulte este tutorial.
Vamos ver se o menu suspenso corresponde a FAQ e, se corresponder, altere-o 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 );