自从WordPress添加置顶文章功能后,就很受站长欢迎,这些置顶文章可以长时间吸引用户的注意,比如可以表明站点的简介、版权声明、友情链接的交换原则等,但是长时间不变也会让用户不满,所以需要创建动态的置顶文章,我们就来看看WordPress网站解决创建动态置顶文章问题的方法。
一般有两个循环的方法,一个用来查询并仅显示某个分类中的文章。另一个用来查询在所有分类中的所有的文章。第一个查询是从the codex中**来的,很容易理解:
$my_query = new WP_Query(‘category_n**e=frontpage&**p;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 for**t 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 for**t each post endwhile;
代码中的第二个if语句的意思是,获取所有日志,且当发现一篇文章的ID值与do_not_duplicate的值相等时中断执行(continue语句),否则显示根据//do stuff这行的格式显示所有其他的文章。记住,do_not_duplicate函数值所代表的文章已经被显示过了。
暂无评论内容