首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress:分类提要中缺少最新帖子

Wordpress:分类提要中缺少最新帖子
EN

Stack Overflow用户
提问于 2020-01-17 06:31:37
回答 2查看 41关注 0票数 1

我设置了一个自定义字段,使用页面边栏上的WP_Query拉取指定的类别ID来显示。它拉出正确类别中的帖子,但跳过最近的帖子。下面是代码片段:

代码语言:javascript
复制
<?php
    $catID = get_field ( 'category_id_posts' );
    $catquery = new WP_Query( 'cat='. $catID .'&posts_per_page=5' );
    ?>
    <?php if($catquery->have_posts()) : $catquery->the_post(); ?>
    <div id="recent-posts-2">       
        <h3 class="widget-title">Recent Posts</h3>
        <ul class="nav flex-column">
            <?php while($catquery->have_posts()) : $catquery->the_post(); ?>
            <li class="nav-item">
                <a class="nav-link" href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
            </li>
            <?php endwhile; ?>
        </ul>
    </div>
    <?php
    endif;
    wp_reset_postdata(); ?>

即使我简化了WP_Query并删除了变量,如下所示:

代码语言:javascript
复制
$catquery = new WP_Query( 'cat=7&posts_per_page=5' );

它仍然跳过该类别中的最新帖子。

任何有见地的人都会非常感谢,谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-17 13:44:42

您需要检查$catquery->have_posts(),例如-

代码语言:javascript
复制
<?php if ( $catquery->have_posts() ) : ?>

<?php while ( $catquery->have_posts() ) : $catquery->the_post(); ?>
..
..
..
..
<?php endwhile; ?>
<?php endif;
  wp_reset_postdata(); 
?>
票数 2
EN

Stack Overflow用户

发布于 2020-01-17 07:00:05

你不会得到第一篇文章,因为你跳过了它。

检查这一行:

代码语言:javascript
复制
<?php if($catquery->have_posts()) : $catquery->the_post(); ?>

您检查您的查询是否有post,如果有,您将获取第一个。但是,您并没有打印出来。比你打来的..。

代码语言:javascript
复制
<?php while($catquery->have_posts()) : $catquery->the_post(); ?>

..。再来一次。这将给你第二篇文章,而你跳过了第一篇文章。直接解析第一个或删除第一个抓取。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59778767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档