Шорткод поиска в категории WordPress не отображает параметры - PullRequest
0 голосов
/ 23 декабря 2018

Я использую wp_dropdown_categories , чтобы создать шорткод, отображающий окно поиска, в котором можно искать категории, указанные в шорткоде, например [category-search include="1,2,3" selected="1"].При этом будет выполнен поиск идентификатора категории 1,2,3 и будет выбран идентификатор категории 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 голосов
/ 23 декабря 2018

Вы устанавливаете $ args как строку, когда она должна быть массивом.

Попробуйте: $args = array('include' => $atts['include'], 'selected' => $atts['selected'])

...