wordpress---置顶(sticky)功能排序(order by)
- 2012-01-11 17:40 - fzblog.net
- Views: 176
- Comments: 0
- Wordpress
wordpress中有一个很好用的功能--置顶, 现在来研究下使用方法:

这个显示出来的都是置顶的文章,那么如何在文章列表页既显示置顶的文章又显示非置顶的文章呢,并且置顶的文章要放在前面,方法是:
设置:
在列表页点快速编辑(Quick Edit), 然后把置顶勾上,如图
使用:
- ......
- $sticky = get_option('sticky_posts');
- $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
- query_posts(array('post_type' => 'post','post__in' => $sticky , 'cat' => 332, 'paged' => $paged, 'posts_per_page' => 15));
- if(have_posts()):
- ......
这个显示出来的都是置顶的文章,那么如何在文章列表页既显示置顶的文章又显示非置顶的文章呢,并且置顶的文章要放在前面,方法是:
代码如下
- ......
- //先获取置顶的文章
- $sticky = get_option('sticky_posts');
- $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts(array('post_type' => 'post','post__in' => $sticky , 'cat' => 223, 'paged' => $paged, 'posts_per_page' => 15));
-
- if(have_posts() && count($sticky) > 0): //不要忘了这里的条件,否则会出现重复内容
- while (have_posts()) :
- the_post();
- ......
- endwhile;
- endif;
-
- //再正常获取文章
- query_posts(array('post_type' => 'post', 'cat' => 223, 'paged' => $paged, 'posts_per_page' => 15));
- if(have_posts()):
- while (have_posts()) :
- the_post();
- //如果普通文章里面含有置顶文章,就跳过
- if(in_array(get_the_ID(),$sticky)) continue;
- ......
- endwhile;
- endif;
-



随便说说