Descrizione

Il wpforms_post_submissions_post_args Il filtro è usato per popolare tutti gli argomenti dell'invio, come il titolo, il tipo di post, ecc. quando si usa il metodo Aggiunta di contributi per i post da WPForms.

Parametri

$post_args
(array) (Obbligatorio) Argomenti dell'invio del post, come ID categoria, ID tag, ID autore, ecc.
$form_data
array Impostazioni/dati del modulo.
$campi
array Valori/proprietà del campo di immissione sanificati.

Fonte

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

Ulteriori informazioni

Il wpforms_post_submissions_post_args si attiva immediatamente quando l'invio viene elaborato per impostare il titolo del post, la categoria e così via all'interno del post.

Esempi

Nel codice di esempio, si nota che prima si controlla l'ID del modulo per assicurarsi che corrisponda al modulo che si sta cercando. Poi controlliamo un campo specifico (in base all'ID del campo) per vedere se è vuoto.

Ricordarsi di cambiare l'ID del modulo da 1378 a quello del proprio modulo e di cambiare il '10' con l'ID del campo.

Se avete bisogno di assistenza per trovare gli ID dei moduli e dei campi, consultate questa esercitazione.

Verifichiamo se il menu a tendina corrisponde a FAQ e, in caso affermativo, cambiamo il tipo di post da post a 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 );