本文最后更新于2022年7月10日,已超过 1 年没有更新,如果文章内容失效,请 反馈 给我们,谢谢!
使用wordprss的朋友应该都很熟悉它有个独特的功能叫做定时发布,但是出于某些主题的原因在您设置了定时发布的文章以后,再到前台看一下,最新文章列表里已经把我们需要定时发布的文章列了出来,这样就达不到我们的效果。如下图:
今天是16年的4月26号上图中我已经改过来了,在没改之前显示的是全是16年7月和8月的文章,我们现在想要的就是把已经发布的最新文章显示出来而不是把定时的文章连带也显示出来。那怎么做呢?其实很简单,找到主题目录下的最近更新代码(这里就以我用的这款主题为例)
<!-- 最新文章开始 --> <div class="relates"><h2><small>最新文章</small></h2> <ul style="padding: 5px 0px 15px 20px;"> <?php $recent_posts = wp_get_recent_posts(); foreach( $recent_posts as $recent ){ echo '<li><i class="fa fa-minus"></i><a href="' . get_permalink($recent["ID"]) . '" title="古韵吧New '.esc_attr($recent["post_title"]).'" >' . $recent["post_title"].'</a> ' . $recent["post_date"].'</li></a> '; } ?> </ul> </div> <!-- 最新文章结束 -->
上面的PHP代码中的第一句没有任何数据表中的限制,把所有表中的文章不管是定时还是草稿还是什么的全部会给你列出来,其实我们只需要给上面的代码限制一下条件,只允许把已经发布出来的文章按最新时间显示出来,定时发布的就不用显示。修改后的代码如下:
<!-- 最新文章开始 --> <div class="relates"><h2><small>最新文章</small></h2> <ul style="padding: 5px 0px 15px 20px;"> <?php $args = array('post_status' =>'publish'); $recent_posts = wp_get_recent_posts($args); foreach( $recent_posts as $recent ){ echo '<li><i class="fa fa-minus"></i><a href="' . get_permalink($recent["ID"]) . '" title="古韵吧New '.esc_attr($recent["post_title"]).'" >' . $recent["post_title"].'</a> ' . $recent["post_date"].'</li></a> '; } ?> </ul> </div> <!-- 最新文章结束 -->
对比这个代码,他们的作用都是显示最近发布的文章,而第一个代码是显示所有文章第二个代码是显示已发布的文章。
修改好的代码加了一个限制条件就是“publish”,它的意思就是“已发布”,延伸话题:文章的状态其中包括了草稿、已发布、隐藏文章等….对应的是代码就是“draft”,“ publish”, “future”, “”pending, “private’这里只用到了已发布。
看懂了代码就自行复制过去粘贴或者自己再修改一下即可,注意的是清空一下缓存再到前台看看变了没有。