2013-03-28 5 views
1

Я пытаюсь показать последние 5 сообщений из определенной категории, которые будут связаны с функцией, чтобы я мог вставить короткий код на странице Wordpress. Код, который у меня есть, как показано ниже, он делает все, что мне нужно (хотя я хочу добавить и улучшенный образ), за исключением того, что он не показывает записи из определенной категории.Показать последние 5 сообщений из той же категории (Wordpress)

Я пробовал много вещей, но не могу найти исправление.

function Last5posts() 
{ 
    $args = array("showposts" => 5, "category" => 3); 
    $content = ""; 

    query_posts($args); 

    if (have_posts()) : 

     while (have_posts()) : 
      the_post(); 

      $link = get_permalink(); 
      $title = get_the_title(); 
      $date = get_the_date();        

      $content .= "<div class='latest-posts'>"; 
      $content .= "<h3><a href='$link' target='_top'>$title/$date</a </h3>\n"; 
      $content .= "<p class='excerpt'>" . get_the_excerpt() . "</p>"; 
      $content .= "</div>"; 

     endwhile; 

     wp_reset_query(); 

    endif; 

    return $content; 
} 

add_shortcode('Last5Posts', 'Last5posts'); 

Я попытался заменить строки 3 и 4 с кодом ниже, но он выдает «ошибка синтаксиса, неожиданный„}“в строке 31» об ошибке.

$catquery = new WP_Query('cat=3&posts_per_page=10'); 
while($catquery->have_posts()) : $catquery->the_post(); 

Любая помощь была бы принята с благодарностью.

ответ

1

Отметьте: query posts parameters; вы должны обязательно использовать «cat» вместо категории. Также вы заканчиваете свое «пока» с «endwhile»? Как выглядит ваш полный код?

+0

0 Я использую следующий код, который я добавил в качестве ответа; он работает, но также, кажется, показывает поле «Оставить ответ», которое не должно быть, поскольку на странице, на которой был введен короткий код, отключены комментарии. –

2

вы можете использовать код так же, как ниже

query_posts('cat=3&posts_per_page=5'); 

используя этот WordPress по умолчанию будет использовать последний 5 пост после этого кода ...

2

Используйте этот
$ catnames [1] обозначает какую категорию u хотите использовать связанные с этим сообщением.

<?php $catnames = get_the_category(); 
$postcatid=$catnames[1]->term_id; 

$catquery = new WP_Query('cat='.$postcatid.'&posts_per_page=4'); 
while($catquery->have_posts()) : $catquery->the_post(); 
?> 
<ul> 
<li><h3><a href="<?php the_permalink() ;?>" rel="bookmark"><?php the_title(); ?></a> </h3> 
</li> 
</ul> 
<?php endwhile; 
?> 
Смежные вопросы