这里部落先说一下,wordpress获取置顶文章列表的方法,其产只要一小段代码就能搞定,内容如下:
补充说明一下,部落之前的主题,就是使用的下面的代码:
<?php
$sticky = get_option('sticky_posts');
rsort( $sticky );
$sticky = array_slice( $sticky, 0, 1);
query_posts( array( 'post__in' => $sticky,'posts_per_page' => 2,
'caller_get_posts' => 1 ) );
if (have_posts()) :while (have_posts()) : the_post();?>
<h3><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
这段代码很好理解,我们就是通过query_posts来获取文章的,这个函数的作用就是对文章进行检索、挑选、排序,在其后的LOOP循环中使用经过挑选、排序的文章.
参数用一个数组的形式放在$query_post中,关键的参数为'post__in' =>get_option('sticky_posts')和'caller_get_posts' => 0。
'post__in' => get_option('sticky_posts')
确定了该LOOP调用的是置顶文章列表。'caller_get_posts'的作用是排除非指定性文章,即除了置顶文章之外,不显示其他的文章.
不添加的情况下,如果置顶文章条目不足'posts_per_page'规定的值,会用最新文章替补完整.
部落操作后,下图中第一篇文章为置顶过的文章,第二篇为最新文章.
部落的作法其实很简单,只是去掉了一段代码,那就是
'caller_get_posts' => 1
当您的站内没有文章置顶时,则默认显示最新文章.这种情况,我们一般主要是因为广告原因来调整.
当然,在您查看具体的效果时,一定要注意清除缓存,特别是安装了WP Super Cache插件的朋友.
另外,检查当前文章是否置顶用is_sticky($post_id) 不带参数时,主要用来在循环输出文章列表中时,用来判断当前$post_id是否是置顶文章;带参数则是判断给定的$post_id是否是置顶文章.
再实例说明一下,is_sticky(10) 是判断 $post_id为 10的文章是否是置顶文章,而不是说所有置顶文章中post_id为 10的置顶文章.
小结
今天因为这样一个小问题,纠结了好一会儿,其实要解决,也就是一分钟的事情,这里自己做个笔录,以给下次好查询.