Attenzione!

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

Per maggiori informazioni, consultare il tutorial di WPBeginner sull'aggiunta di codice personalizzato.

Congedo

Descrizione

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

Parametri

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

Fonte

wpforms/includes/functions/form-fields.php

Ulteriori informazioni

Il wpforms_dynamic_choice_post_type_args fornisce un elenco di argomenti supportati dal post, come ad esempio la categoria. Allo stesso modo, è possibile utilizzare il filtro wpforms_dynamic_choice_taxonomy_args per estrarre argomenti dalla tassonomia di Tag.

Nell'esempio riportato di seguito, la funzione elaborerà l'ID del modulo 789 per l'ID del campo 10 e includere solo i messaggi 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 dei bambini?

R: Per visualizzare le categorie figlio nel modulo, è necessario includere sia l'ID della categoria padre che gli ID delle categorie figlio. Questo perché la funzionalità attuale richiede che la categoria padre sia specificata per recuperare e visualizzare correttamente le categorie figlio.

/**
 * 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 frammento assicura che sia la categoria madre (ID 87) che le categorie figlie (ID 88 e 89) siano incluse nelle scelte dinamiche.