Php foreach循环工作,但类别名称不在Wp\U查询内循环:(

Php foreach循环工作,但类别名称不在Wp\U查询内循环:(,php,wordpress,foreach,Php,Wordpress,Foreach,我想从帖子中查询类别。类别显示在输出中,但category\u name未在wp\u query数组中循环。我如何解决此问题 您可以在下面看到我的代码: public function minzel_blog_cats() { $settings = $this->get_settings_for_display(); $blog_cats = $settings['blog_category']; //if (!empty($blog_cats) && !is_wp_er

我想从帖子中查询类别。类别显示在输出中,但
category\u name
未在
wp\u query
数组中循环。我如何解决此问题

您可以在下面看到我的代码:

public function minzel_blog_cats() {
$settings = $this->get_settings_for_display();
$blog_cats = $settings['blog_category'];
//if (!empty($blog_cats) && !is_wp_error($blog_cats)) {
    foreach ($blog_cats as $blog_cat) {
        //$cat_options[$blog_cat->slug] = $blog_cat->slug;
        //$cat_options[$term->slug] = " '".$term->slug.", '";
        $cat_options = $blog_cat." , ";
        echo $blog_cat.", ";
    }
//}

return $cat_options;
}

$default    = [
    'posts_per_page'    => $blog_post_per,
    'orderby' => $blog_grid_orderby,
    'category_name' => " ' ".$this->minzel_blog_cats()." ', ",
    'order' => $blog_grid_order,
    'post_type'         => 'post',
];

您在循环中一次又一次地覆盖
$cat\u选项
,需要使用串联运算符(
)分配所有名称


将默认参数替换为以下代码并选中

$default    = [
    'posts_per_page'    => $blog_post_per,
    'orderby' => $blog_grid_orderby,
    'category' => " ' ".$this->minzel_blog_cats()." ', ",
    'order' => $blog_grid_order,
    'post_type'         => 'post',
];
$default    = [
    'posts_per_page'    => $blog_post_per,
    'orderby' => $blog_grid_orderby,
    'category' => " ' ".$this->minzel_blog_cats()." ', ",
    'order' => $blog_grid_order,
    'post_type'         => 'post',
];