0

在我的 single.php 中,我想显示除已打开帖子之外的所有类别帖子。

这是我的代码:pastebin.com 循环代码

这是类别帖子循环的代码,它循环所有类别帖子和打开的帖子,我不想再次循环打开的帖子

<?php $catid = the_category_ID( false ); ?> 
                        <?php $postCount = 1; $loop = new WP_Query( array( 'tax_query' => array(array(
                                'taxonomy' => 'category',
                                'field' => 'id',
                                'terms' => $catid
                            )), 'post_type' => 'post', 'posts_per_page' => 15 ) ); if ($loop->have_posts()) { ?>

更新:

我有解决方案:

<?php $catid = get_the_category(); $catid = $catid[0]->term_id; ?>
                        <?php $postCount = 1; $loop = new WP_Query( array( 'tax_query' => array(array(
                                'taxonomy' => 'category',
                                'field' => 'id',
                                'terms' => $catid
                            )),
                            'post_type' => 'post',
                            'posts_per_page' => 15,
                            'post__not_in' =>array($post->ID) ) );
                        if ($loop->have_posts()) { ?>

你需要使用'post_not_in'选项。

4

1 回答 1

0

使用这个:(避免类别 3 的示例)

 query_posts( 'cat=-3' );

检查这个:http ://codex.wordpress.org/Function_Reference/query_posts#Exclude_Categories_From_Your_Home_Page

然后在您的页面中,您只需检查您所在的帖子的类别,并将“-3”替换为您要避免的类别 ID。

于 2013-03-28T07:53:50.360 回答