wordpress主题|wordpress函数get_option(‘sticky_posts’)与置顶文章例子

时间:2020-08-31  来源:WordPress  阅读:

这里部落先说一下,wordpress获取置顶文章列表的方法,其产只要一小段代码就能搞定,内容如下:
补充说明一下,部落之前的主题,就是使用的下面的代码:

        $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();?>

" title="">

这段代码很好理解,我们就是通过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的置顶文章.
小结
今天因为这样一个小问题,纠结了好一会儿,其实要解决,也就是一分钟的事情,这里自己做个笔录,以给下次好查询.

wordpress主题|wordpress函数get_option(‘sticky_posts’)与置顶文章例子

http://m.bbyears.com/wangyezhizuo/95836.html

推荐访问:wordpress教程 wordpress大学
相关阅读 猜你喜欢
本类排行 本类最新