WordPress ripro主题如何做到只调用置顶产品列表,或者说排除置顶正常排序!

如何修改首页置顶?如何限制调用置顶?或者说只调用置顶产品!此内容下面直接附有源码!这里毛毛想说个题外话:“建站会遇到很多问题,有人问源码全么?毛毛想说就算再全的源码其实中间都有小瑕疵,因为每个人的审美不一样,可能他觉得好看的,你觉得那里是有问题的,或者说不利于用户体验的需要修改的,网站修改可以直接咨询本站客服额!欢迎打扰!”

我们这里的“热门推荐”就是直接用到了调用置顶产品!大家可以一起探讨学习!

置顶文章是Wordpress 2.7版本开始加入的一个功能,具体作用如名称“置顶”。在发布文章后快速编辑即可看到置顶选项。昨天折腾的时候给网站加入了一个轮播,其中就用到了只显示置顶文章,和排除不显示置顶等功能,首页的顶部框框里滚动显示置顶文章,首页内容区隐藏置顶文章。解决办法可以用 is_sticky() 判断或者 query(…) 来输出。

但是在具体实施过程中遇到了三个问题:

不显示置顶文章则每页文章有多有少,看着不爽。
前一页、后一页功能失效。
archive等归档页面失效。

一、首先可以肯定,直接判定 !is_sticky() 就输出的办法是可行的。但是分页依旧按照原来的,比如第一页的9篇文章中有4篇置顶的,除去置顶文章,第一页就只显示4篇文章,对于边栏内容比较丰富的同学们,主要内容部分必然会空出一大片。

二、其次,用 query_posts() 可以吗?当然,这也是官方给出的解决方案。只需按需要在while(…)前加入

$paged = get_query_var( 'page' ) ? get_query_var( 'page' ) : 1;
$sticky = get_option( 'sticky_posts' );
$args = array(
'ignore_sticky_posts' => 1,//忽略sticky_posts,不置顶,但是输出置顶文章
'post__not_in' => $sticky,//排除置顶文章,不输出
'paged' => $paged
);
query_posts( $args );

我们毛毛博客用的是ripro主题,这里遇到了一个问题,当轮播显示置顶文章好了以后,下面的最新文章模块,还显示着置顶文章,所以我们想法把最新文章里的置顶排除掉,于是我在最新文章lastpost.php文件里,添加了排除函数,下面附上一些排除函数供大家使用。

三、附上只输出置顶文章的解决办法:

/* 获取所有置顶文章 */
$sticky = get_option( 'sticky_posts' );
/* 对这些文章排序, 日期最新的在最上 */
rsort( $sticky ); /* 获取5篇文章 */
$sticky = array_slice( $sticky, 0, 5 );
/* 输出这些文章 */
query_posts( array( 'post__in' => $sticky, 'ignore_sticky_posts' => 1 ) );
while ( have_posts() ) : the_post();
/* 输出内容 */
endwhile;
wp_reset_query();
如下载链接失效,请联系管理员处理【QQ:941007525,微信:style028666】

免责申明:
本站资源均来源于互联网,如有侵权请联系站长!将第一时间删除
本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
资源仅供学习参考请勿商用或其它非法用途,否则一切后果用户自负!

毛毛博客 » WordPress ripro主题如何做到只调用置顶产品列表,或者说排除置顶正常排序!

发表回复

简简单单,不求发展

立即查看 了解详情