导语:我在开发本站主题的时候,遇到了一个问题,Wordpres参数ignore_sticky_posts失效,怎么修改都不起效。问题现在还没有解决,先将情况描述一下。
本站主题有一个特色图片滑块小工具,可以在首页进行特色图片轮播,小工具在查询文章的时候使用了ignore_sticky_posts。
ignore_sticky_posts的作用,我翻阅了各种文章,对它的理解是这样的,可以置顶或不置顶文章:
1.当ignore_sticky_posts等于0的时候,文章排列的顺序为:置顶的文章->自然顺序的文章;如果没有置顶文章,那么填充自然顺序的文章。
2.当ignore_sticky_posts等于1的时候,文章排列的顺序为:自然顺序的文章(其中包涵了置顶的文章,只是现在置顶文章是按自然顺序来排列的)。
我认为ignore_sticky_posts等于0的使用可以达到这种文章排列效果:有置顶文章时,置顶文章在前面,自然顺序的文章在后面填充,这样可以使轮播图片数量达到预设值。
现在的问题是,我不管怎么设置ignore_sticky_posts的值,无论它等于0或1,结果都是它等于1时候的效果,即是,所有的置顶文章都是按自然顺序排列。
轮播的小工具源码文件为:/inc/widgets/block_2_widget.php
$r = new WP_Query( apply_filters( 'widget_block2_posts_args', array( 'post_type' => 'post', 'posts_per_page' => $number_posts, 'category__in' => $featured_categories, 'no_found_rows' => true, 'post_status' => 'publish', 'order' => 'DESC', 'meta_key' => '_thumbnail_id', 'orderby' => $orderby, 'post__in' => get_option('sticky_posts'), 'ignore_sticky_posts' => $ignore_sticky ) ) );
目前,我未达到置顶效果,只好加上了’post__in’ => get_option(‘sticky_posts’),这样就强制只显示置顶文章。
希望,有达人能知道是什么问题,或者在某天我自己能找到原因。我为这个问题熬了一个通宵,还没有解决,实在很惭愧。
大家可以免费下载使用本站主题,如果你们解决了这个问题,一定要告诉我。
本站所用的主题是英文主题codilight-lite。我自己在它原有的基础上进行了汉化和二次开发,修正一些小问题,增加了一些功能,如果你喜欢的话,可以免费下载我修正过的汉化版使用。
欢迎大家使用,如果保留我的汉化版权信息就更好了。
codilight-lite主题也有专业版,功能挺全的,如果你喜欢的话,可以花上几十美金去购买使用。
专业版演示地址:http://demos.famethemes.com/codilight/2015/11/21/5-things-to-consider-before-buying-an-apple-watch/
很漂亮的主题,谢谢分享。