如果您指的是单选下拉菜单,则可以添加<select> 元素使用wp_dropdown_categories().
下面是一个示例salary_bands 作为分类名称/slug,我将下拉列表放置在提交按钮的上方或之前,但您可以将其放置在表单中的其他位置:
<?php wp_dropdown_categories( array(
\'taxonomy\' => \'salary_bands\', // taxonomy slug
\'name\' => \'salary_bands\', // taxonomy slug or query_var
\'value_field\' => \'slug\',
\'selected\' => get_query_var( \'salary_bands\' ),
\'hierarchical\' => true, // place each term under their own parent
\'show_option_all\' => \'All Salary Bands\',
) ); ?>
<input class="td search-jobs-button" type="submit" value="Search Jobs">
有关完整参数列表,请参见函数参考,但在上面,我设置了
name 分类学鼻涕虫(
salary_bands)
和value_field 到slug 因此<option> 值将使用术语slug(而不是默认值-术语ID)。使用这些设置,我们不需要通过pre_get_posts 钩子(或另一个钩子),因为WordPress自然会在搜索查询(其SQL语句)中自动包含这些术语。
Notes:
<确保使用正确的分类slug,它是register_taxonomy() 如中所示register_taxonomy( \'salary_bands\', ... )。否则,您可能会得到一个空的选择菜单!
如果使用自定义query_var value, 然后设置上述name 对的值query_var 价值然后使用get_query_var( \'query_var value\' ).
此外,您可能需要使用the_search_query() 像这样:
<input id="s" name="s" type="search" value="<?php the_search_query(); ?>">