我有一个自定义的帖子类型“产品”,我需要显示一个列表。产品按元价值分类为不同的产品类型。我需要在列表底部设置一个特定的产品类型“tools”。但它也必须按创建日期排序。因此,所有其他产品类型按创建日期排序,然后是产品类型“工具”-也按创建日期排序。在一个wp\\U查询中是否可以执行此操作?
wp\\u查询的参数如何?
我有一个自定义的帖子类型“产品”,我需要显示一个列表。产品按元价值分类为不同的产品类型。我需要在列表底部设置一个特定的产品类型“tools”。但它也必须按创建日期排序。因此,所有其他产品类型按创建日期排序,然后是产品类型“工具”-也按创建日期排序。在一个wp\\U查询中是否可以执行此操作?
wp\\u查询的参数如何?
如果您使用的是Wordpress 4.2或更新版本,则可以执行以下操作:
$args = array(
\'post_type\' => \'products\',
\'posts_per_page\' => 10,
\'meta_query\' => array(
\'relation\' => \'AND\',
\'tools_clause\' => array(
\'key\' => \'tools\',
\'compare\' => \'EXISTS\',
),
\'create_date_clause\' => array(
\'key\' => \'create_date\',
\'compare\' => \'EXISTS\',
),
),
\'order_by\' => array(
\'create_date_clause\' => \'ASC\',
\'tools_clause\' => \'ASC\',
)
);
请看这里:Query improvements in WP 4.2: ‘orderby’ and ‘meta_query’看起来不错。在我的情况下,应该是这样的:
$args = array(
\'post_type\' => \'products\',
\'posts_per_page\' => 10,
\'meta_query\' => array(
\'tools_clause\' => array(
\'key\' => \'producttype\',
\'value\' => \'tools\',
\'compare\' => \'EXISTS\',
),
),
\'order_by\' => array(
\'date\' => \'ASC\',
\'tools_clause\' => \'ASC\',
));
但有了这一点,我只能得到带有producttype“tools”的产品。但我需要先获得所有其他产品类型,然后是“工具”。我正在做一个get_terms() 我试图按自定义术语元排序的查询。自定义术语元键是\'order\' 它是一个数值(介于1和10之间)。我尝试了以下方法,但顺序似乎没有遵循元值-任何指针都是值得赞赏的。$type_terms = get_terms( \'type\', array( \'hide_empty\' => false, array( \'key\' => \'order\', ), \'or