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 );