为了账号安全,请及时绑定邮箱和手机立即绑定

Wordpress:类别Feed中缺少的最新帖子

Wordpress:类别Feed中缺少的最新帖子

PHP
函数式编程 2022-08-05 16:08:48
我已经设置了一个自定义字段来提取指定的类别ID,以便在页面侧栏上使用WP_Query来显示。它会将帖子拉入正确的类别,但会跳过最新的帖子。以下是代码片段:<?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并像这样删除变量:$catquery = new WP_Query( 'cat=7&posts_per_page=5' );它仍然会跳过该类别中的最新帖子。任何见解将不胜感激,谢谢!
查看完整描述

2 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

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


<?php if ( $catquery->have_posts() ) : ?>


<?php while ( $catquery->have_posts() ) : $catquery->the_post(); ?>

..

..

..

..

<?php endwhile; ?>

<?php endif;

  wp_reset_postdata(); 

?>


查看完整回答
反对 回复 2022-08-05
?
倚天杖

TA贡献1828条经验 获得超3个赞

您没有收到第一篇文章,因为您跳过了它。

检查此行:

<?php if($catquery->have_posts()) : $catquery->the_post(); ?>

您检查您的查询是否有帖子,如果是,您将获取第一个。但是,您没有打印该版本。比你在打电话...

<?php while($catquery->have_posts()) : $catquery->the_post(); ?>

...再。这将为您提供第二个帖子,并且您跳过了第一个帖子。直接解析第一个或删除第一个提取。


查看完整回答
反对 回复 2022-08-05
  • 2 回答
  • 0 关注
  • 78 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信