Orderby POST__IN无法正常工作吗?

时间:2018-04-03 作者:Logan C

我根据对象的数值创建了一个数组。之后,我移除了数组中对象中的所有内容,除了ID。因此,它最终看起来如下所示:

[115, 123, 66, 64]
这是我的帖子数组,按照我想要的顺序排列。

然后,我想使用Ajax Load More插件按顺序显示这些帖子。因此,我将其设置为:

obj[\'post__in\'] = distanceIdFilter,
obj[\'orderby\'] = \'post__in\'
请注意,“distanceIdFilter”只是我要使用的数组的变量。当我控制台登录它时,post\\u-in正在获取正确的数组和我希望它的正确顺序。orderby还表示它是按“post\\uu in”排序的,这也是我想要的,因为它应该按该顺序显示数组中的项目。

问题来自于当我过滤Ajax加载更多的内容时,它没有将帖子按正确的顺序排列,我假设它是按日期排列的,因为默认的orderby参数。

我似乎不明白为什么订购不正确?

1 个回复
SO网友:Nathan Johnson

如果你看看source 在Ajax Load More插件中,您可以看到许多过滤器,可以用来修改查询。您可能需要使用alm_modify_query_args 像这样过滤:

$in_array = [ 115, 123, 66, 64 ];
add_filter( \'alm_modify_query_args\', function( $args ) use ( $in_array ) {
  $args[ \'post__in\' ] = $in_array;
  $args[ \'orderby\' ]  = \'post__in\';
  return $args;
} );
如果开发人员不是很好,并且提供了这个过滤器,那么您可以一直使用pre_get_posts 滤器

结束

相关推荐

将Meta框值加载到div AJAX

我正在尝试从自定义字段值(嵌入)加载视频<iframe>). 单击任意按钮并播放该视频。Console log: 当我单击任何按钮时,它将转到jquery行console.log(result);. 不提供与按钮相关的输出。What missing and how to make it working-able?HTML:<ul> <li><button class=\"play_next\" data-meta-key=\"url-1\">