如何给wordpress创建动态的置顶文章

更新于 2021年12月19日 wordpress教程

如何给wordpress创建动态的置顶文章?

置顶文章的作用是希望长时间引起读者注意,可以表明站点的简介、版权声明、友情链接的交换原则等;本文将介绍如何给wordpress创建动态的置顶文章,需要了解的朋友可以参考下

从WordPress 2.7 开始加入了“置顶文章(Sticky Posts)”。置顶文章的作用是希望长时间引起读者注意,可以表明站点的简介、版权声明、友情链接的交换原则等。但太长时间的不变也会引起阅读反感。本文将介绍如何给wordpress创建动态的置顶文章。

从wordpress help forums关于多重循环的各种讨论中让我想到一个使用两次循环的方法。一个用来查询并仅显示某个分类中的文章。另一个用来查询在所有分类中的所有的文章。第一个查询是从the codex中***来的,很容易理解:

代码如下:

$my_query = new WP_Query('category_name=frontpage&showposts=1'); 
while ($my_query->have_posts()) : 
$my_query->the_post(); 
$do_not_duplicate = $post->ID;

上述代码的意思是,变量my_query赋值为查询分类名为frontpage的所有文章的结果,并仅得到一篇文章。关键点在最后部分,给变量 do_not_duplicate赋值为返回的单独文章的ID值。我们在下一步需要这个值。

下面一段代码是很重要很标准的,可以在许多主题中找到。它能获取所有日志:

代码如下:

if (have_posts()) : while (have_posts()) : the_post(); //do stuff like format each postendwhile;

这段代码获取所有的日志,并根据//do stuff这行(依赖于模板)的格式显示。如果仅仅这样编写代码,就会发生你所选的文章(置顶文章)被显示两次的情况(一次在置顶区域,另一次则是在所有其他文章区域)。显示这样并不好,所以这里要使用到do_not_duplicate函数了。添加到一个if语句中阻止制定文章显示两次。下面是代码:

代码如下:

if (have_posts()) : while (have_posts()) : the_post(); 
if( $post->ID == $do_not_duplicate ) 
continue;//do stuff like format each post endwhile;

代码中的第二个if语句的意思是,获取所有日志,且当发现一篇文章的ID值与do_not_duplicate的值相等时中断执行(continue语句),否则显示根据//do stuff这行的格式显示所有其他的文章。记住,do_not_duplicate函数值所代表的文章已经被显示过了。

就这样当你把所有内容放到一起得到了什么?一个动态的置顶文章!且最棒的部分是当置顶文章被新的一篇代替,之前的文章会在下面所有文章的区域显示出来(取决于你选择了多少文章显示以及文章的发表频率)。

你可能还喜欢下面这些文章

wordpress怎么实现文章分页wordpress怎么实现文章分页

最近发现 有不少文章配上图片,写得比较长。’wp_more’,<if ( strpos( $content,'<if ( strpos( $content, ‘<

wordpress如何在一个页面显示所有文章wordpress如何在一个页面显示所有文章

让WordPress一个页面显示全部分类的文章cat=’ . $cat->php echo $cat->a href=”<$cats = get_categories(array(‘include’ =>

wordpress中函数query posts怎么用wordpress中函数query posts怎么用

–这边是当判断符合时列出的文章清单,你可以用<php the_xxx();pre name=”code” class=”php”>2,‘orderby’=>

wordpress如何自定义短代码wordpress如何自定义短代码

wordpress实现自定义短代码。// @param $content 短代码里面的内容// @param $code 短代码function hello($atts, $content=null, $code=””) {

如何在WordPress文本小工具中运行PHP代码如何在WordPress文本小工具中运行PHP代码

WordPress文本小工具中可以添加任意HTML代码,但默认PHP代码添加到文本小工具中却不能运行,下面的这段代码很有用! $text = ob_get_contents();

如何获取wordpress注册用户的数量如何获取wordpress注册用户的数量

本文实例讲述了获取wordpress注册用户的数量的方法分享给大家供大家参考。$users = $wpdb->$users=wp_list_authors(‘echo=0&

wordpress怎么调用特定文章列表wordpress怎么调用特定文章列表

a href=”< //cat=1为调用ID为1的分类下文章”title=”<

如何让WordPress媒体库识别.pdf文件如何让WordPress媒体库识别.pdf文件

如何让WordPress媒体库识别.pdf文件?$post_mime_types[‘application/pdf’] = array( __( ‘PDFs’ ), __( ‘Manage PDFs’ ),