Как передать массив в шорткод в PHP? - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть короткий код на моем 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"]

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

...