Боковая панель WordPress: сделать пользовательский цикл отображения сообщений в той же категории, что и отдельный пост, ИСКЛЮЧАЯ текущий отдельный пост из списка - PullRequest
0 голосов
/ 14 марта 2011

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

Кто-нибудь знает, как это изменить, чтобы ИСКЛЮЧИТЬ текущий одиночный пост? Кроме этого, он отлично работает.

<?php
$query = "showposts=10&orderby=date&cat=";

foreach((get_the_category()) as $category)
{ 
    $query .= $category->cat_ID .","; 
}

query_posts($query);
?>

<ul>
    <?php while (have_posts()) : the_post(); ?>
    <li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title() ?></a>
    <?php the_excerpt(); ?>
    </li>

<?php endwhile; ?>       

</ul>

Ответы [ 2 ]

1 голос
/ 28 июля 2011

Надеюсь, этот ответ не приходит слишком поздно. Дэйв, есть небольшая ошибка в коде, который идет на боковой панели:

В строке, которая говорит &post__not_in=, есть дополнительное подчеркивание между словом post и not.

Удалите его, и оно будет работать.

Спасибо Poelinca за фрагмент кода.

0 голосов
/ 14 марта 2011

В вашем основном запросе выполните (запрос из вашего файла single.php):

<?php global $mainPostID; $mainPostID = get_the_id(); ?>

Тогда код вашей боковой панели станет следующим:

<?php 
$query = "showposts=10&orderby=date&cat="; 


foreach((get_the_category()) as $category) { 
    $query .= $category->cat_ID .",";
} 

#magic happens here
global $mainPostID;
if ( !empty($mainPostID) && is_single() )
    $query .= "&post__not_in=" . $mainPostID;

query_posts($query); 
?> 
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...