【问题标题】:Wordpress conditional function with category post带有类别帖子的 Wordpress 条件函数
【发布时间】:2013-12-07 09:12:42
【问题描述】:

我有两个类别

类别 1 类别 2

因为有些帖子属于这两个类别。

现在我想显示第 2 类的 15 个帖子,它不是第 1 类的最后 5 个帖子。(第 2 类的 15 个帖子,但如果这些帖子在第 1 类的最后 5 个帖子中,只想排除它们)

这可能吗?任何帮助或资源将不胜感激。

【问题讨论】:

    标签: wordpress conditional


    【解决方案1】:

    您可以使用 WP_Query 在两个单独的查询中执行此操作

    首先获取类别 1 中的前 5 个帖子。循环并获取帖子 ID。

    然后查询类别二中的帖子,不包括 postID。

    类似:

    $args = array('posts_per_page' => 5,
              'cat'            => '1',
    );
    
    $posts = new WP_Query( $args );
    
    while ($posts->have_posts()) {
       $exclude_posts[] = $posts->the_ID();
    }
    
    
    $args = array('cat'=> '2',
              'post__not_in'   =>  $exclude_posts
    );
    
    $posts = new WP_Query( $args );
    

    使用多个循环查看http://codex.wordpress.org/Function_Reference/query_posts

    【讨论】:

    • 谢谢。因为我必须在这个循环内的 index.php 中多次调用这个查询。你能告诉我如何在这个循环中做到这一点吗?我可以在 function.php 中定义这个过滤器并在这里应用它吗? <?php query_posts('showposts=5&cat=5'); if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?><a href="<?php the_permalink() ?>"><h1><?php the_title(); ?></h1></a><?php endwhile; ?> <?php else : ?> <?php endif; ?>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    相关资源
    最近更新 更多