【问题标题】:Wordpress meta_query not working in two casesWordpress meta_query 在两种情况下不起作用
【发布时间】:2018-05-13 19:56:29
【问题描述】:

get_posts() 调用的更大参数数组中,我正在尝试使用这两个元查询:

'meta_query' => array(
    array(
        'key' => 'space_avail_days',
        'value' => array('mon', 'tue', 'wed'),
        'compare' => 'IN'
    ),
    array(
        'key' => 'space_settings_restricted',
        'value' => 'restricted',
        'compare' => '!='
    )
),

两者都没有工作(一起或独立)。

以下是两者的数据概览:

第一个是一个简单的元字段 ('space_avail_days'),其值是日期缩写数组('mon'、'tue'、'wed' 等)。我只是想检查提交的天数数组是否在元的天数数组内。

第二个查询的元数据 ('space_settings_restricted') 可以为 null、空或“受限”,我正在尝试获取任何特别不是“受限”的帖子(因此,任何设置为 null 或一个空值)

两者都没有产生任何结果(尽管我知道帖子中的值存在且正确)

如果有人有任何想法,他们将不胜感激!

【问题讨论】:

  • 您好,您可以分享完整的查询参数,而不仅仅是 meta_query 吗?此外,在 meta_query 数组上,您需要添加关系 'AND' 或 'OR',请查看 codex.wordpress.org/Class_Reference/… 上的文档
  • 唯一的其他查询参数是 'posts_per_page' => -1 和 'post_type'=>'space'(自定义帖子类型)。
  • 它也不适用于“关系”,但它默认为“与”,因此不是严格要求,对吧?

标签: php wordpress


【解决方案1】:
'meta_query' => array(
    array(
        'key' => 'space_avail_days',
        'value' => array('mon', 'tue', 'wed'),
        'operator' => $_POST['space_avail_days'] ? 'IN' : 'NOT IN',
    ),
    array(
        'key' => 'space_settings_restricted',
        'value' => 'restricted',
        'compare' => $_POST['space_settings_restricted'] ? '=' : '!=',
    )
),

【讨论】:

    猜你喜欢
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2012-07-26
    • 2017-11-26
    • 2010-12-29
    • 1970-01-01
    • 2021-08-05
    相关资源
    最近更新 更多