Aufgepasst!

Dieser Artikel enthält PHP-Code und ist für Entwickler gedacht. Wir stellen diesen Code aus Höflichkeit zur Verfügung, bieten aber keinen Support für Code-Anpassungen oder Entwicklungen von Drittanbietern.

Eine zusätzliche Anleitung finden Sie im WPBeginner-Tutorial zum Hinzufügen von benutzerdefiniertem Code.

Ablehnen

Beschreibung

Die wpforms_dynamic_choice_post_type_args Filter wird verwendet, um die Dynamische Auswahlmöglichkeiten für Beitragstypen und Taxonomien.

Parameter

$args
(array) (Erforderlich) Argumente aus der Beitragsübermittlung wie Kategorie-ID, Tag-ID, Autoren-ID usw.
$Feld
(array) Bereinigte Werte/Eigenschaften von Eingabefeldern.
$form_id
(int) Formular-ID.

Quelle

wpforms/includes/functions/form-fields.php

Mehr Informationen

Die wpforms_dynamic_choice_post_type_args Filter bietet eine Liste der unterstützten Argumente aus dem Beitrag, wie z. B. Kategorie. In ähnlicher Weise können Sie auch den wpforms_dynamic_choice_taxonomy_args um Argumente aus der Taxonomie von Tags.

In dem folgenden Beispiel wird die Funktion mit der Formular-ID verarbeitet 789 für das Feld ID 10 und nur Beiträge aus der Kategorie 11.

Beispiele

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

Referenzartikel

Ausschluss von Beiträgen, Seiten oder Kategorien von dynamischen Auswahlen

FAQ

F: Wie kann ich nur die untergeordneten Kategorien anzeigen?

A: Um untergeordnete Kategorien in Ihrem Formular anzuzeigen, müssen Sie sowohl die ID der übergeordneten Kategorie als auch die IDs der untergeordneten Kategorien angeben. Der Grund dafür ist, dass die aktuelle Funktionalität erfordert, dass die übergeordnete Kategorie angegeben wird, um die untergeordneten Kategorien korrekt abzurufen und anzuzeigen.

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

Dieses Snippet stellt sicher, dass sowohl die übergeordnete Kategorie (ID 87) als auch ihre untergeordneten Kategorien (IDs 88 und 89) in die dynamische Auswahl einbezogen werden.