Wp_Dropdown_Categories()中的‘SELECTED’参数用于什么?

时间:2021-12-16 作者:iamconfusion

我正在研究其他人的代码(基于Elementor的自定义搜索小部件),但有一件事我不明白。

$type_term = get_term_by(\'slug\', get_query_var($taxonomy), $taxonomy);
$type = (!empty($type_term) && !empty($type_term->slug)) ? $type_term->slug : 0;
wp_dropdown_categories(array(
                \'show_option_all\' => \'\',
                \'show_option_none\' => \'Select \' . $taxonomy_obj->label,
                \'option_none_value\' => \'0\',
                \'orderby\' => \'name\',
                \'order\' => \'ASC\',
                \'hide_empty\' => 1,
                \'depth\' => 3,
                \'echo\' => 1,
                \'selected\' => $type,
                \'hierarchical\' => 1,
                \'name\' => $taxonomy,
                \'id\' => $taxonomy . \'-select\',
                \'class\' => $taxonomy . \'-select\',
                \'tab_index\' => 1,
                \'taxonomy\' => $taxonomy,
                \'value_field\' => \'slug\'
            ));
我意识到$type 是所选术语的段塞。但为什么我必须手动分配\'selected\' => $type? 这个领域到底意味着什么?这不应该自动传递给所选属性吗?我说得对吗get_query_var($taxonomy)返回选定的分类术语?

或者更一般地说,如何/在何处存储所选选项,以及如何/在何处检索该选项以进行搜索?我确信有一些明显的东西我没有得到,但文档没有帮助。

我希望这是可以理解的。谢谢

2 个回复
SO网友:Tim

这个selected 参数仅定义渲染“选择”字段时选择的选项。这是一个可选参数,默认为当前类别或0

$defaults[\'selected\'] = ( is_category() ) ? get_query_var( \'cat\' ) : 0;
(https://developer.wordpress.org/reference/functions/wp_dropdown_categories/)

此函数用于呈现类别下拉列表,但您可以覆盖它以使用任何分类法。看起来您的代码使用的是任意的分类法,而不是“类别”。因此,您需要提供值。

在代码中$taxonomy 来自哪里?这段代码运行在哪个php模板中?

SO网友:ShippeR

select 是HTML属性,它对浏览器来说是预设行的形式。这就像用户每次从列表中选择一行一样,但之后可以单击任何其他选项。select 是否返回HTML的一部分dropdown.

选定属性是布尔属性。

如果存在,它指定在加载页面时应预先选择一个选项。

预选选项将首先显示在下拉列表中。

w3school.com

相关推荐

在WP搜索表单中是否有类似`wp_Dropdown_Categories()`的输入复选框选项?

我有自定义的帖子类型,当前正在使用wp_dropdown_categories() 在WP搜索表单中的功能,以便人们能够按薪资级别和工作类型进行筛选。是否有一个等效函数,以便用户可以使用输入复选框元素而不是<select> 元素,以便他们在进行搜索时可以选择多个工作类型或薪资水平?我似乎在开发者文档中找不到任何东西。我正在寻找的是允许复选框替换使用下面代码中的select选项的下拉元素的东西。<form method="get" action="<?p