Resumen de la IA
Descripción
En wpforms_dynamic_choice_post_type_args se utiliza para rellenar el filtro Opciones dinámicas para tipos de entrada y taxonomías.
Parámetros
- $args
- (array) (Obligatorio) Argumentos del envío de la entrada, como ID de categoría, ID de etiqueta, ID de autor, etc.
- $campo
- (array) Valores/propiedades del campo de entrada saneados.
- $form_id
- (int) ID del formulario.
Fuente
wpforms/includes/functions/form-fields.php
Más información
En wpforms_dynamic_choice_post_type_args proporciona una lista de los argumentos admitidos por la entrada, como Categoría. Del mismo modo, también puede utilizar el filtro wpforms_dynamic_choice_taxonomy_args para extraer argumentos de la taxonomía de Etiquetas.
En el ejemplo que se muestra a continuación, la función procesará el ID del formulario 789 para el campo ID 10 e incluir sólo los mensajes de la categoría 11.
Ejemplos
/**
* 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 );
Artículos de referencia
Cómo excluir entradas, páginas o categorías de las opciones dinámicas
PREGUNTAS FRECUENTES
P: ¿Cómo puedo mostrar sólo las categorías inferiores?
R: Para mostrar las categorías secundarias en su formulario, debe incluir tanto el ID de la categoría principal como los ID de las categorías secundarias. Esto se debe a que la funcionalidad actual requiere que se especifique la categoría principal para obtener y mostrar correctamente sus categorías secundarias.
/**
* 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 );
Este fragmento garantiza que tanto la categoría principal (ID 87) como sus categorías secundarias (ID 88 y 89) se incluyan en las opciones dinámicas.