вывести список сообщений WordPress только из текущей категории

Я пытаюсь создать второе навигационное меню на своем сайте WordPress.

Я хочу, чтобы это отображало ссылки на все сообщения только в текущей категории.

Я экспериментировал с функцией get_posts, но не могу найти, как динамически выбирать текущую категорию. т. е. что разместить здесь category=x

Любая помощь приветствуется

Вот мой код шаблона, который я использовал

<ul id="catnav">

     <?php
     global $post;
     $myposts = get_posts('numberposts=5&category=1');
     foreach($myposts as $post) :
     ?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
     <?php endforeach; ?>



    </ul>

person user1765225    schedule 22.10.2012    source источник
comment
Я думаю, что у меня есть этот код дома. Я поделюсь им, если вы напомните мне, ответив на этот комментарий. Я тоже проверю, получил ли я его в своем почтовом ящике.   -  person Pablo Jomer    schedule 22.10.2012
comment
Спасибо, Пабло, если бы вы могли, это было бы очень полезно.   -  person user1765225    schedule 22.10.2012


Ответы (5)


Наконец, решил это с помощью этого кода отсюда: http://www.snilesh.com/resources/wordpress/wordpress-recent-posts-from-current-same-category/

Изменил его, чтобы включить текущую страницу и список по возрастанию

<ul id="catnav">
<?php
global $post;
$category = get_the_category($post->ID);
$category = $category[0]->cat_ID;
$myposts = get_posts(array('numberposts' => 5, 'offset' => 0, 'category__in' => array($category), 'post_status'=>'publish', 'order'=>'ASC' ));
foreach($myposts as $post) :
setup_postdata($post);
?>
<li>
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?></a>
</li>
<?php endforeach; ?>
<?php wp_reset_query(); ?>
<li><a href="?p=46">Why Us?</a></li>

</ul>
person user1765225    schedule 24.10.2012

$args=array(
'cat' => get_query_var('cat'),
  'orderby' => 'title',
  'order' => 'ASC',
  'posts_per_page'=>-1,
  'caller_get_posts'=>1
);
$my_query = new WP_Query($args);

Это сработало для меня!

person dansayag    schedule 15.07.2013

Итак, я нашел этот фрагмент кода, который отлично работает для отображения всех сообщений в текущей категории.

 <ul id="catnav">

 <?php
foreach( ( get_the_category() ) as $category ) {
$the_query = new WP_Query('category_name=' . $category->category_nicename . '&showposts=5&order=ASC');
while ($the_query->have_posts()) : $the_query->the_post();
?>
            <li>
                <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
            </li>
<?php endwhile; ?>
<?php
}
?>


</ul>

Но у меня есть несколько категорий, которые я хочу исключить. Некоторые сообщения существуют в двух категориях, которые я хочу исключить из показа сообщений в категориях 8, 9 и 11.

Есть идеи?

person user1765225    schedule 23.10.2012

Я думаю, что лучше получать сообщения с идентификатором категории, а не с именем категории, чтобы вы могли написать условие if else и исключить сообщения с идентификатором 8,9,11.

person Balu Mahesh    schedule 23.10.2012

person    schedule
comment
Спасибо, Балу, но, похоже, это не сработало. Что вы предлагаете делать с code foreach($myposts as $post): - person user1765225; 22.10.2012