Как передать массив в шорткод в PHP?

У меня есть короткий код на моем сайте WordPress в файловых функциях.php У меня есть этот короткий код

function Insert_NewsBlogsByTags($attr) {
    $a = shortcode_atts(array(
        'title' => 'News',
        'selector' => '#all',
        'number' => 4,
        'tags' => ''
    ), $attr);
    ob_start();
    the_widget(
        'Fbstax_Widget_Recent_Posts_By_Categories_Tags',
        array(
            'title' => esc_html__($a['title'], 'fbstax-theme'),
            'selector' => esc_html__($a['selector'], 'fbstax-theme'),
            'number' => $a['number'],
            'tags' => $a['tags']
        )
    );
    return ob_get_clean();
}
add_shortcode( 'InsertNewsBlogsByTags', 'Insert_NewsBlogsByTags' );

Здесь я призываю виджет для отображения сообщений по некоторым тегам. Я делаю выбор в файле класса виджета, как это:

 $r = new WP_Query(apply_filters('widget_posts_args', array(
            'posts_per_page' => $number,
            'no_found_rows' => true,
            'post_status' => 'publish',
            'ignore_sticky_posts' => true,
            'cat' => '20,45',
            'tag_id' => $instance['tags']
        ), $instance ) );

Но когда я звоню в конструктор страниц, как это:

[InsertNewsBlogsByTags tags="70, 244"]

Это ничего не отображает. Можно выбрать только один тег. Можете посоветовать, как это исправить?

0 ответов

Другие вопросы по тегам