WordPress参数ignore_sticky_posts失效 完全不起作用

导语:我在开发本站主题的时候,遇到了一个问题,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/

目前在“WordPress参数ignore_sticky_posts失效 完全不起作用”上有一条评论

菲莉进行回复 取消回复

邮箱地址不会被公开。 必填项已用*标注