KI-Zusammenfassung
Beschreibung
Der wpforms_dynamic_choice_post_type_args Filter wird verwendet, um die Dynamischen Auswahlmöglichkeiten für Beitragstypen und Taxonomien zu füllen.
Parameter
- $args
- (array) (Erforderlich) Argumente aus der Beitragsübergabe wie Kategorie-ID, Tag-ID, Autor-ID usw.
- $field
- (array) Bereinigte Eingabefeldwerte/-eigenschaften.
- $form_id
- (int) Formular-ID.
Quelle
wpforms/includes/functions/form-fields.php
Weitere Informationen
Der wpforms_dynamic_choice_post_type_args Filter stellt eine Liste unterstützter Argumente aus dem Beitrag wie Kategorie bereit. Ebenso können Sie auch wpforms_dynamic_choice_taxonomy_args verwenden, um Argumente aus der Taxonomie von Tags abzurufen.
In diesem unten gezeigten Beispiel wird die Funktion für die Formular-ID 789 für das Feld-ID 10 verarbeitet und nur Beiträge aus der Kategorie 11 eingeschlossen.
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
Wie man Beiträge, Seiten oder Kategorien von dynamischen Auswahlmöglichkeiten ausschließt
FAQ
F: Wie kann ich nur die Unterkategorien anzeigen?
A: Um Unterkategorien in Ihrem Formular anzuzeigen, müssen Sie sowohl die ID der übergeordneten Kategorie als auch die IDs der Unterkategorien angeben. Dies liegt daran, dass die aktuelle Funktionalität erfordert, dass die übergeordnete Kategorie angegeben wird, um ihre Unterkategorien 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 );
Dieser Ausschnitt stellt sicher, dass sowohl die übergeordnete Kategorie (ID 87) als auch ihre Unterkategorien (IDs 88 und 89) in den dynamischen Auswahlmöglichkeiten enthalten sind.