• 售前

  • 售后

热门帖子
入门百科

怎样给wordpress创建动态的置顶文章长时间引起留意

[复制链接]
123456825 显示全部楼层 发表于 2021-8-15 19:42:42 |阅读模式 打印 上一主题 下一主题
从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函数值所代表的文章已经被显示过了。

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

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作