无法按随机方式对自定义帖子类型进行排序

时间:2017-07-23 作者:mhmma

以下是我的查询的参数。

每次刷新后,查询始终显示相同的顺序。

查询说明:仅显示4篇自定义帖子类型的帖子projekte. 帖子有一个自定义的元字段,名为ecpt_skills 它应该检查其中是否有存储在变量中的字符串$porjektart. 它也不应该显示当前帖子。它应该按随机顺序对查询进行排序。除了随机的,一切都正常。

 $args = array( \'posts_per_page\' => 4,  
\'post_type\' => \'projekte\', 
\'meta_key\'  => \'ecpt_skills\', 
\'meta_value\' => $projektart, 
\'meta_compare\' => \'LIKE\', 
post__not_in => array(get_the_ID()),
\'orderby\'=> \'rand\' );
有人知道为什么会这样吗?

2 个回复
SO网友:Johansson

你可以使用meta_query 要搜索元数据,然后将其随机排序,请执行以下操作:

$args = array(
        \'posts_per_page\' => 4,  
        \'post_type\' => \'projekte\', 
        \'orderby\'=> \'rand\',
        \'post__not_in\' => array( get_the_ID() ),
        \'meta_query\' => array(
            array(
                \'key\' => \'ecpt_skills\',
                \'value\' => $projektart,
                \'compare\' => \'LIKE\',
            )
        ),
    );
代码中也存在键入错误,post\\u not\\u in应写为\'post__not_in\'.

而且,如果元值不是数字,那么应该使用meta_value 而不是meta_value_num.

SO网友:mhmma

发现问题。

我使用custom post type order 插件。

所以随机顺序不会影响查询。

您必须插入\'ignore_custom_sort\' => true, 进入自定义查询以使其工作。

结束

相关推荐

使用$QUERY->集合超级混淆‘pre_get_post’行为

几个小时来,我一直在为这个奇怪的问题发愁,需要一些人帮助我弄清楚到底发生了什么。请允许我解释我的设置,然后是行为和问题。设置:我已将“帖子页面”设置为域。com/search/where我打算列出我的所有帖子。由于我需要一个自定义布局来显示我的帖子,我在“template\\u include”挂钩中进行了以下重定向:/*Use custom template to render posts on /search/ */ if ( is_home() ) { return plug