Descrição

O wpforms_post_submissions_post_args é utilizado para preencher todos os argumentos da submissão, como o título, o tipo de publicação, etc., quando se utiliza o filtro Suplemento de envio de mensagens do WPForms.

Parâmetros

$post_args
(array) (Obrigatório) Argumentos da submissão da publicação, tais como ID da categoria, ID da etiqueta, ID do autor, etc.
$form_data
matriz Definições/dados do formulário.
$campos
matriz Valores/propriedades do campo de entrada higienizados.

Fonte

wpforms-post-submissions/class-post-submissions.php

Mais informações

O wpforms_post_submissions_post_args dispara imediatamente quando a submissão é processada para definir o título da publicação, a categoria, etc. dentro da publicação.

Exemplos

No código de exemplo, verá que começamos por verificar o ID do formulário para nos certificarmos de que corresponde ao formulário que está a ser visado. Em seguida, verificamos um campo específico (pela ID do campo) para ver se está vazio.

Lembre-se apenas de alterar o ID do formulário de 1378 para corresponder ao seu ID do formulário e de alterar o "10" para corresponder ao seu ID do campo.

Se precisar de ajuda para saber onde encontrar os IDs de formulário e de campo, consulte este tutorial.

Vamos ver se o menu pendente corresponde a FAQ e, se corresponder, alterá-lo do tipo de publicação de publicação 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 );