Intereting Posts
Обычный пользовательский Shortcode не работает Сделать выбранные элементы Mutiselect "selected" Сохранять комментарии для модерации только в том случае, если пользователь не зарегистрирован Могу ли я получить раскрывающийся список с автоматическим заполнением других пользовательских сообщений на странице редактирования пользовательских сообщений? Как отключить панель администратора для всех подписчиков? Если Elseif Query Отображение массива флажков из расширенного настраиваемого поля WP 4.4 – сопоставление доменов для сайтов в многопользовательской сети? Каков хороший способ отменить все сценарии для одной страницы шаблона? Как установить отношения между родителями и дочерними элементами между отдельными типами сообщений Внешние ссылки блокируются / удаляются Adblockers Как я могу сделать свои пользовательские сообщения в своем URL-адресе назначенной категории? Список последних сообщений в WP-Admin Командное сотрудничество в WordPress Цикл шаблона пользовательской таксономии

Печать прямых потомков категории с WP_Query

Поэтому мне трудно печатать только прямые дети категории на странице. Вот мой код:

$category_id = get_cat_ID('destinations'); $args = array('child_of' => $category_id); $categories = get_categories($args); $args = array ( 'category__and' => $categories->$cat_ID ); $recent_posts = new WP_Query($args); if ($recent_posts->have_posts()) : while ($recent_posts->have_posts()) : $recent_posts->the_post(); 

Этот код печатает каждую категорию независимо от того, кто является родителем. Если я изменю это:

$ recent_posts = новый WP_Query ('cat = 43'); Он печатает правильную категорию, но также все ее дети и дети детей (очевидно). Я просто хочу, чтобы непосредственно связанные дети были напечатаны. Я пошел вперед и повторил сериализацию ($ categories), которая вернула правильный массив. Однако, когда я сериализую ($ args) ПОСЛЕ 2-й декларации, это дает мне:

 a:1:{s:13:"category__and";N;} 

Это определенно странно. Почему на Земле он возвращает «N» для $ categories -> $ cat_ID? Я пытался сделать это весь день и не увенчался успехом. Я также пытался найти другой способ сделать то, что хочу, но ничего не получилось.

Есть идеи?

Solutions Collecting From Web of "Печать прямых потомков категории с WP_Query"

Из Кодекса:

  ребенок 
     (целое число) Отобразить все категории, которые являются потомками (т.е. детьми и внуками) категории, идентифицированной ее идентификатором.  Для этого параметра нет значения по умолчанию.  Если параметр используется, параметр hide_empty имеет значение false. 

А также…

 родитель  
     (целое) Отображать только те категории, которые являются прямыми потомками (то есть только для детей) категории, идентифицируемой ее идентификатором.  Это НЕ работает как параметр «child_of».  Для этого параметра нет значения по умолчанию.  [В 2.8.4]

Итак, во-первых, вы используете неправильный аргумент, если хотите только немедленные декодеры. Тебе нужно:

 $args = array('parent' => $category_id); 

Во-вторых, get_categories даст вам массив объектов, поэтому вам понадобится что-то подобное для извлечения идентификаторов.

 $cats = wp_list_pluck($categories,'cat_ID'); $args = array ( 'category__and' => $cats ); 

Даю вам:

 $category_id = get_cat_ID('destinations'); $args = array('parent' => $category_id); $categories = get_categories($args); $cats = wp_list_pluck($categories,'cat_ID'); $args = array ( 'category__and' => $cats ); $recent_posts = new WP_Query($args);