如何给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首页无法显示置顶文章可能由多种原因导致。首先需确认主题是否支持该功能,可通过切换至默认主题测试;其次排查插件冲突,特别是文章排序、缓存类插件。自定义查询若未包含sticky_posts参数也会导致问题,分页设置可能使置顶文章

本文详细讲解WordPress文章置顶与轮播展示的设置技巧。置顶功能可将重要文章固定在列表顶部,通过后台"快速编辑"勾选复选框即可实现;轮播推荐使用MetaSlider插件,支持文章自动抓取、多动画效果和响应式设计。文章涵盖权限检查、插件配置

WordPress短代码是无需编程即可扩展网站功能的利器,能快速实现价格表格、特殊按钮等复杂模块。本文详解短代码从创建到应用的完整流程:短代码本质是方括号标签,触发预设功能输出,适合解决新手站长的技术难题。使用时需注意命名冲突(建议添加唯一前

WordPress短代码在前台不解析是常见问题,本文提供系统排查指南。首先需验证基础短代码功能是否正常,排除核心支持问题;其次检查主题兼容性,建议切换默认主题测试;插件冲突需通过逐一停用排查;短代码语法错误、缓存机制干扰及特定场景限制(如文本

**** 在WordPress文章中直接插入自定义HTML代码常因编辑器过滤或切换模式导致内容丢失,而短代码(Shortcode)能完美解决这一问题。本文教你如何通过短代码将HTML模块转化为可重复调用的“魔法标签”,无需技术背景,10分钟

query_posts(array(‘category__and’=>array(1,3),‘posts_per_page’=>2,‘orderby’=>title,‘order’=>DESC));。

$users=wp_list_authors('echo=0&exclude_admin=0&hide_empty=0&optioncount=1&style=0');。