【问题标题】:Sort by 2 custom fields. One field is sometimes empty按 2 个自定义字段排序。一个字段有时是空的
【发布时间】:2020-03-26 20:48:59
【问题描述】:

我喜欢按 2 个自定义字段(AAA 和 BBB)排序。先按AAA排序,再按BBB排序。 BBB 有时是空的,但我喜欢抓住所有帖子。

这是我的代码。 我制作了 2 个通过“或”连接的数组。一个阵列是 AAA 和 BBB,另一个阵列只有 AAA。

'meta_query' => array(
  'relation' => 'or',
    array(
      array(
      'key'=> 'AAA',
      ), 
      array(
      'key'=> 'BBB',
      ),                
      ),
    'key'=> 'AAA',
),

'orderby' => 'meta_value',

上面的代码没有显示任何错误。它显示具有 AAA 和 BBB 价值的帖子。仅具有 AAA 价值的帖子不会显示。

我也试过下面的代码。此代码仅显示具有元字段 AAA 和 BBB 的帖子。

'meta_query' => array(
'relation' => 'or',    
array(
array( 
'key'=> 'AAA',
),

array( 
'key'=> 'BBB',
),    
),
),

'orderby' => 'meta_value',

以下代码显示带有 AAA 和 BBB 的帖子,并按 AAA 排序。 BBB 未排序。

'meta_query' => array(
'relation' => 'or',    

array( 
'key'=> 'color',
),

array( 
'key'=> 'species2',
),
),

【问题讨论】:

  • 你能多加一点上下文吗?问题是什么?上面的代码不起作用吗?你有错误吗?
  • 嗨。上面的代码没有显示任何错误。它显示具有 AAA 和 BBB 价值的帖子。仅具有 AAA 价值的帖子不会显示。

标签: wordpress


【解决方案1】:

您是否尝试过删除第二个'key'=> 'AAA',

'meta_query' => array(
  'relation' => 'or',
  array(
    array(
      'key'=> 'AAA',
    ), 
    array(
      'key'=> 'BBB',
    ),                
  ),
),
'orderby' => 'meta_value',

【讨论】:

  • 谢谢 Mikerojas。我尝试了与上面相同和相似的代码,但它没有正确排序帖子。
猜你喜欢
  • 1970-01-01
  • 2017-07-30
  • 2017-01-28
  • 1970-01-01
  • 2015-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多