Intereting Posts

несколько значений в массиве для категории__ и не работает с WP_Query

Поэтому я зацикливаюсь с WP_Query, и вот мой код:

$country_posts = new WP_Query(get_direct_children($continent_cats)); if ($country_posts->have_posts()) : while ($country_posts->have_posts()) : $country_posts->the_post(); 

функция get_direct_children:

 function get_direct_children($cat_name) { if (gettype($cat_name) == 'string') : $category_id = get_cat_ID($cat_name); elseif (gettype($cat_name) == 'integer') : $category_id = $cat_name; endif; $args = array('parent' => $category_id); $categories = get_categories($args); $cats = wp_list_pluck($categories,'cat_ID'); $args = array ( 'category__and' => $cats ); return $args; } 

$ country_posts-> has_posts () возвращает true, только если 1 категория возвращается из get_direct_children. Это происходит, когда я отключу все дочерние элементы $ continent_cats (который, между прочим, является строкой), за исключением 1.

Когда активна только одна дочерняя категория:

 var_dump(get_direct_children($continent_cats)); 

возвращает:

 array(1) { ["category__and"]=> array(1) { [0]=> string(2) "72" } } 

Итак, это то, что я хочу. has_posts () возвращает true и зацикливает мою 1 активную подкатегорию. ОДНАКО, когда я включаю другую дочернюю категорию, has_posts () возвращает false (я думаю, это просто не размещение какого-либо контента).

Таким образом, эта же функция:

 var_dump(get_direct_children($continent_cats)); 

возвращает:

 array(1) { ["category__and"]=> array(2) { [0]=> string(2) "72" [1]=> string(2) "71" } } 

когда у меня есть 2 дочерних категории. Поскольку это выглядит как правильный синтаксис AND category__and принимает правильный тип переменной, почему он не зацикливает эти 2 категории? Почему это даже не цикл 1 категории?

благодаря

Solutions Collecting From Web of "несколько значений в массиве для категории__ и не работает с WP_Query"