2013-10-07 2 views
0

Я пишу тему для WordPress, и мне нравится иметь последние сообщения в категории, и это подкатегории, которые будут отображаться поверх любого другого сообщения.WordPress | WP_Query | Получите последний порт из категории и подкатегорий

Пример. Допустим, у меня есть следующие категории:

Cat 1 
    Cat 1 - 1 
    Cat 1 - 2 
     Cat 1 - 2 - 1 

И затем я создаю следующие сообщения:

Post #5 | Cat 1 - 2  | Date 2013 
Post #4 | Cat 1 - 1  | Date 2012 
Post #3 | Cat 1 - 2  | Date 2011 
Post #2 | Cat 1   | Date 2010 
Post #1 | Cat 1 - 1 - 2 | Date 2009 

В передней части, когда я перейти к Cat 1 я не получаю, как последнее сообщение сообщение # 5, которые принадлежат Cat 1 - 2 где находится к югу категория Cat 1, но вместо этого я получаю сообщение # 2.

В настоящее время я использую этот код:

$categoryID   = get_query_var('cat'); 

$args = array(
    'post_type'   => 'post', 
    'posts_per_page' => 1, 
    'category__in'  => array($categoryID), 
    'post_status'  => 'publish' 
); 

$eiPost = new WP_Query($args); 

Проблема заключается в том, что этот код возвращает последнее сообщение только из категории верхнего уровня, а не из подкатегорий. Как я могу изменить этот код, чтобы получать последние сообщения из всех подкатегорий и верхней категории?

Есть ли какие-либо решения этой проблемы?

ответ

1

'category__in' только отображает сообщения из этой категории, а не категории детей.

Попробуйте использовать 'cat' => $categoryID insted. Таким образом, ваш $args будет:

$args = array(
'post_type'   => 'post', 
'posts_per_page' => 1, 
'cat'  => $categoryID, 
'post_status'  => 'publish' 
); 
Смежные вопросы