wordpress置顶文章的设置在发布文章时有选项,这个很简单,不懂自己google之,最难的方法是如何在模板里把置顶文章按一定格式输出,这就是本篇文章我们要讨论的内容。
wordpress置顶文章重点函数
关于置顶文章wordpress有两个常用的函数
- is_sticky():判断文章是否是置顶的,是就返回true,不是就返回false
- get_option(‘sticky_posts’): 获取置顶文章ID,返回包含各置顶文章ID的数组
对于这两个函数怎么使用下面给出两个具体例子
置顶文章例子1:
首页展示文章时,如果是置顶文章就全文输出
方法简介:在loop循环时,通过 is_sticky()判断是否是置顶文章
是的话就设置全局变量$more=1;然后调用the_content();就是全文输出了
否则不是置顶文章的话就设置全局变量$more=0;然后调用the_content(‘更多…’);就是截取<–more–>标签后的输出
<?php if (have_posts()) : ?> <p>分章列表如下</p> <ul> <?php while (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"><?php the_title(); ?></a><h2/> <p><?php the_content(); ?></p> </li> <?php else: global $more; $more = 0; ?> <li> <h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a><h2/> <p><?php the_content('阅读更多'); ?></p> </li> <?php endif; ?> <?php endwhile; ?> </ul> <?php else: ?> <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”><?php the_title(); ?></a></li>
<?php endwhile; endif; ?>
</ul>