【问题标题】:Two Custom Post Types - One WP_Query两种自定义帖子类型 - 一种 WP_Query
【发布时间】:2016-09-13 09:56:47
【问题描述】:

我一直在通过堆栈交换和 wordpress 论坛阅读类似于我的解决方案,但我似乎找不到我需要的东西,所以我想我会在这里问一下,看看会发生什么。

我有两种自定义帖子类型 1. 特色业务 2. 常规业务

当用户访问网站时,我希望他们在我创建的目录中搜索业务。

我似乎无法让帖子的顺序首先显示所有自定义帖子类型 1,然后是自定义帖子类型 2。

如何创建一个循环,首先显示所有 1.featured 业务自定义帖子类型条目,然后再显示 2.regular 业务自定义帖子类型条目。然后,如果没有 1.featured 业务条目,则只显示 2.regular 业务条目,因为总会有 2.regular 业务条目,但不会总是有来自 1.featured 业务的条目。

我希望这有某种意义,以便有人可以帮助我制作一个 WP_Query 或 pre_get_posts 函数来帮助解决这个问题。

目前我还没有在这里放任何循环代码,因为我想要的没有任何效果。

提前致谢

【问题讨论】:

    标签: wordpress loops


    【解决方案1】:

    WP_Query 有它自己的 orderby 字段,它接受类型,下面应该可以工作:

    $args = [ 
             'post_type' => ['regular_business', 'featured_business'], 
             'orderby' => ['type' => 'ASC']
            ];
    
    $query = new WP_Query($args);
    

    根据您希望常规业务还是特色业务在顶部或底部,您可以将 ASC 更改为 DESC

    另外,请确保将 regular_businessfeatured_business 正确更改为您的特定帖子类型名称。

    【讨论】:

    • 完美。像魅力一样工作!这是我的最终代码。 <?php $args = array( 'post_type' => array('business', 'featured-business'), 'orderby' => array('type' => 'DESC') ); $query = new WP_Query($args); ?>
    • 好消息!很高兴我能帮上忙
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多