Attenzione!

Questo articolo contiene codice PHP ed è destinato agli sviluppatori. Offriamo questo codice come cortesia, ma non forniamo supporto per personalizzazioni del codice o sviluppo di terze parti.

Per ulteriore assistenza, consulta il tutorial di WPBeginner su come aggiungere codice personalizzato.

Chiudi

Descrizione

Il filtro wpforms_dynamic_choice_post_type_args viene utilizzato per popolare le Scelte dinamiche per tipi di post e tassonomie.

Parametri

$args
(array) (Richiesto) Argomenti dall'invio del post come ID categoria, ID tag, ID autore, ecc.
$field
(array) Valori/proprietà del campo di inserimento sanificati.
$form_id
(int) ID del modulo.

Origine

wpforms/includes/functions/form-fields.php

Maggiori Informazioni

Il filtro wpforms_dynamic_choice_post_type_args fornisce un elenco di argomenti supportati dal post come la Categoria. Allo stesso modo, puoi anche utilizzare wpforms_dynamic_choice_taxonomy_args per estrarre argomenti dalla tassonomia dei Tag.

In questo esempio mostrato di seguito, la funzione verrà elaborata sull'ID del modulo 789 per l'ID del campo 10 e includerà solo i post della categoria 11.

Esempi

/**
 * Limit posts or pages displayed by category.
 *
 * @link https://wpforms.com/developers/wpforms_dynamic_choice_post_type_args
 *
 * @param array $args       Arguments from post submission.     
 * @param array $field      Sanitized field data. 
 * @param int   $form_id    Form ID
 *
 * @return $args
 */

function wpf_dev_dynamic_choices_categories( $args, $field, $form_id ) {
    
     // Only on form #789 and field #10
     if ( $form_data[ 'id' ] == 789 && $field[ 'id' ] == 10 ) {

         $args[ 'category' ] = '11';		 
    
     }
	
     return $args;
}

add_filter( 'wpforms_dynamic_choice_post_type_args', 'wpf_dev_dynamic_choices_categories', 10, 3 );

Articoli di riferimento

Come escludere post, pagine o categorie dalle scelte dinamiche

FAQ

D: Come posso mostrare solo le categorie figlie?

R: Per visualizzare le categorie figlie nel tuo modulo, devi includere sia l'ID della categoria genitore sia gli ID delle categorie figlie. Questo perché la funzionalità attuale richiede che venga specificata la categoria genitore per recuperare e visualizzare correttamente le sue categorie figlie.

/**
 * Limit posts or pages displayed by category.
 *
 * @link https://wpforms.com/developers/wpforms_dynamic_choice_post_type_args
 *
 * @param array $args   Arguments for post submission.     
 * @param array $field  Sanitized field data. 
 * @param int   $form_id Form ID
 *
 * @return array Updated arguments
 */

function wpf_dev_dynamic_choices_include( $args, $field, $form_id ) {
    // Ensure form ID is correctly handled
    if ( is_array( $form_id ) ) {
        $form_id = $form_id[ 'id' ];
    }

    // Apply only to specific form and field IDs
    if ( $form_id == 122 && $field[ 'id' ] == 11 ) {
        // Include category IDs - 87 is the parent; 88 and 89 are child categories
        $args['include'] = '87,88,89';
    }

    return $args;
}
add_filter( 'wpforms_dynamic_choice_taxonomy_args', 'wpf_dev_dynamic_choices_include', 10, 3 );

Questo snippet garantisce che sia la categoria genitore (ID 87) sia le sue categorie figlie (ID 88 e 89) siano incluse nelle scelte dinamiche.