Resumo de IA
Descrição
O filtro wpforms_dynamic_choice_post_type_args é usado para popular as Escolhas Dinâmicas para tipos de post e taxonomias.
Parâmetros
- $args
- (array) (Obrigatório) Argumentos do envio do formulário, como ID da Categoria, ID da Tag, ID do Autor, etc.
- $field
- (array) Valores/propriedades do campo de entrada higienizados.
- $id_do_formulario
- (int) ID do formulário.
Fonte
wpforms/includes/functions/form-fields.php
Mais Informações
O filtro wpforms_dynamic_choice_post_type_args fornece uma lista de argumentos suportados do post, como Categoria. Da mesma forma, você também pode usar wpforms_dynamic_choice_taxonomy_args para buscar argumentos da taxonomia de Tags.
Neste exemplo mostrado abaixo, a função será processada no ID do formulário 789 para o ID do campo 10 e incluirá apenas posts da categoria 11.
Exemplos
/**
* 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 );
Artigos de Referência
Como Excluir Posts, Páginas ou Categorias de Escolhas Dinâmicas
Perguntas Frequentes
P: Como posso mostrar apenas as categorias filhas?
R: Para exibir categorias filhas no seu formulário, você precisa incluir o ID da categoria pai e os IDs das categorias filhas. Isso ocorre porque a funcionalidade atual exige que a categoria pai seja especificada para buscar e exibir corretamente suas categorias filhas.
/**
* 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 trecho garante que tanto a categoria pai (ID 87) quanto suas categorias filhas (IDs 88 e 89) sejam incluídas nas escolhas dinâmicas.