显示所有类别的所有帖子,但不包括自定义博客页面上的某个类别,并对我的主题进行分页

时间:2014-07-10 作者:user3012736

  <h3>Recent Posts</h3>
  <?php // Display blog posts on any page @ http://m0n.co/l
    $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
    $temp = $wp_query; $wp_query= null;
    $category_id = get_cat_ID(\'Tour\');
    $wp_query = new WP_Query(); $wp_query->query(\'showposts=6\' . \'&paged=\'.$paged);
    while ($wp_query->have_posts()) : $wp_query->the_post();    if(in_category($category_id)){?>
    <div class="blog" style="display:none;">
        <time datetime="2013-01-01"><?php echo date("j"); ?><br>
<?php echo strtoupper(substr(date("F"),0,3)); ?></time>
<div class="extra_wrapper">
      <div class="text1 upp">
   <?php the_title(); ?> </div>
    </div>
     <div class="clear"></div>
    <?php if(has_post_thumbnail()) { ?> <?php the_post_thumbnail(\'full\', array(\'class\' => \'img_inner fleft\')); ?> <?php } ?>
    <div class="extra_wrapper">
    <?php the_excerpt(); ?>
    <br>
      <a href="<?php the_permalink(); ?>" class="btn">Details</a>
    </div>
  </div>
请在“检索所有类别的帖子,排除Wordpress自定义主题中的一个类别帖子”中为该自定义提供适当的指导。提前谢谢。

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

如果查看WP_Query, 你会发现你可以使用cat=-12category__not_in\' => 12 在自定义查询中排除ID为12的类别。

我只想在这里指出几件事。showposts 已折旧,您应该使用posts_per_page. 而且\'showposts=6\' . \'&paged=\'.$paged 是错误的。你应该使用& 在您的参数之间。所以你应该这样做\'posts_per_page=6&paged=\'.$paged

总之,要排除“Tour”类别,这是我从代码中推测的,您可以更改这一行

$wp_query->query(\'showposts=6\' . \'&paged=\'.$paged);

$wp_query->query(\'posts_per_page=6&cat=-\' . $category_id . \'&paged=\'.$paged);

结束

相关推荐

Get a list of categories ids

我正在使用基于自定义帖子类型的过滤器制作一个公文包。该过滤器必须只显示公文包中显示的帖子的类别,因为用户可以在短代码中通过id指定它们-[公文包id=“1,2,3”],而我无法获得该类别id的列表。下面是一个简单的例子,说明我正在尝试做什么:来自快捷码的自定义帖子ID列表:$ids 相同ID的数组:$id_array = explode(\',\', $ids) 必须返回类别ID列表的感兴趣的变量:$cat_ids = ??? 接下来,我们只获取具有所需id的类别:$ca