WordPress类别搜索简码不显示选项

时间:2018-12-23 18:15:19

标签: php wordpress function shortcode

我正在使用wp_dropdown_categories创建一个短代码,该短代码显示一个搜索框,您可以搜索该短代码中给出的类别,例如[category-search include="1,2,3" selected="1"]。这将搜索类别ID的1,2,3,并默认选择类别ID 1。

功能如下:

function category_search($atts) {

$atts = shortcode_atts( array(
    'include' => '',    
    'selected' => '',
), $atts );
$site_url = site_url();      
$args = '"include=array( ' . $atts['include'] . ')&selected=' . $atts['selected'] . '"';                  

ob_start(); ?>

<form role="search" method="get" id="searchform" action="<?php echo $site_url ?>">
    <label class="screen-reader-text" for="s">Search for:</label>
    <input type="text" placeholder="Search" value="" name="s" id="s" />
    <?php wp_dropdown_categories( $args ); ?>
    <button type="submit" class="button"><span>Search</span></button>
</form>

<?php return ob_get_clean();
}
add_shortcode( 'category-search', 'category_search' );

它的工作方式是显示一个带有所有类别的下拉列表的搜索框,但似乎没有选择具有特定类别或默认选择的$args。我想念什么吗?

1 个答案:

答案 0 :(得分:1)

在将 $ args 设置为字符串时,应将其设置为字符串。

尝试:$args = array('include' => $atts['include'], 'selected' => $atts['selected'])