Как исключить пост с тегом на WordPress? - PullRequest
0 голосов
/ 02 января 2012

Я хочу показать 5 постов на боковой панели, ИСКЛЮЧИТЬ все посты, которые я пометил "hp" (ID = 11). Очевидно, есть много способов сделать это с категориями, но с тегами это действительно трудно найти.

Вот код, который у меня есть.

<?php query_posts( array( 'tag' => -11, 'posts_per_page' => 5, 'orderby' => 'date', 'order' => 'DESC' ) ); ?>
<?php while (have_posts()) : the_post(); ?>
<?php if (class_exists('MultiPostThumbnails')
            && MultiPostThumbnails::has_post_thumbnail('post', '3-image')) :
                MultiPostThumbnails::the_post_thumbnail('post', '3-image'); endif; ?>
<div>in <?php   the_category(', '); ?></div>

<?php   the_title(); ?>
<?php
$count = 0;
$posttags = get_the_tags();
if ($posttags) {
foreach($posttags as $tag) {
$count++;
if ($count <= 1 ) {
echo '<a href="' . get_tag_link($tag->term_id) . '">' . $tag->name . '</a> ';
}
}
}
?>
  <?php endwhile;?>

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

1 Ответ

0 голосов
/ 02 января 2012

Вам нужно использовать WP_Query класс вместе с tag__not_in.

<?php
$the_query = new WP_Query( array( 'tag__not_in' => array( 11 ) ) );

while ( $the_query->have_posts() ) : $the_query->the_post();

     // Whatever you want to do goes here

endwhile;

// Reset Post Data
wp_reset_postdata();
?>

Более подробную информацию о WP_Query классе вы можете получить здесь - http://codex.wordpress.org/Class_Reference/WP_Query

...