wordpress置顶文章按需调用:全文输出或列表输出

王朝学院·作者佚名  2016-08-22
窄屏简体版  字體: 小  |  中  |  大  |  超大  

WordPRess置顶文章的设置在发布文章时有选项,这个很简单,不懂自己google之,最难的方法是如何在模板里把置顶文章按一定格式输出,这就是本篇文章我们要讨论的内容。

wordpress置顶文章重点函数关于置顶文章wordpress有两个常用的函数

is_sticky():判断文章是否是置顶的,是就返回true,不是就返回falseget_option('sticky_posts'): 获取置顶文章ID,返回包含各置顶文章ID的数组对于这两个函数怎么使用下面给出两个具体例子

置顶文章例子1:

首页展示文章时,如果是置顶文章就全文输出

方法简介:在loop循环时,通过 is_sticky()判断是否是置顶文章

是的话就设置全局变量$more=1;然后调用the_content();就是全文输出了

否则不是置顶文章的话就设置全局变量$more=0;然后调用the_content('更多...');就是截取<--more-->标签后的输出

<?phpif(have_posts()):?><p>分章列表如下</p><ul><?phpwhile(have_posts()):the_post();if(is_sticky()):global $more;// 设置全局变量$more$more=1;?><li><h2>[置顶]<a href="<?php the_permalink(); ?>"title="<?php the_title(); ?>"rel="bookmark"><?phpthe_title();?></a><h2/><p><?phpthe_content();?></p></li><?phpelse:global $more;$more=0;?><li><h2><a href="<?php the_permalink(); ?>"title="<?php the_title(); ?>"rel="bookmark"><?phpthe_title();?></a><h2/><p><?phpthe_content('阅读更多');?></p></li><?php endif;?><?php endwhile;?></ul><?phpelse:?><h2>没有找到相应文章</h2><?php endif;?>

置顶文章例子2:

一次性把置顶文章全部找出来,然后用列表的方法呈现

方法简介:通过get_option('sticky_posts')函数把置顶文章id全部找出来,再通过query_posts()函数对这部分id的文章循环列表输出

<ul><?php

$sticky=get_option('sticky_posts');rsort($sticky);//对数组逆向排序,即大ID在前$sticky=array_slice($sticky,0,5);//输出置顶文章数,请修改5,0不要动,如果需要全部置顶文章输出,可以把这句注释掉query_posts(array('post__in'=>$sticky,'caller_get_posts'=>1));if(have_posts()):while(have_posts()):the_post();?><li><a href="<?php the_permalink(); ?>"title="<?php the_title(); ?>"rel="bookmark"><?phpthe_title();?></a></li><?php endwhile;endif;?></ul>

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航