【问题标题】:Wordpress meta_query multiple fields search NOT workingWordpress meta_query 多个字段搜索不起作用
【发布时间】:2013-09-18 09:32:03
【问题描述】:

我有这段代码,它工作得很好:

$search = array(
    'meta_query'             => array(
        array(
            'key'       => 'wpcf-community-city',
            'value'     => $search_param,
            'compare'   => 'LIKE'
        )
    )
);

但是当我改成这个时,它就停止工作了。

$search = array(
    'meta_query'             => array(
        'relation'      => 'OR',
        array(
            'key'       => 'wpcf-community-city',
            'value'     => $search_param,
            'compare'   => 'LIKE'
        ),
        array(
            'key'       => 'wpcf-community-state',
            'value'     => $search_param,
            'compare'   => 'LIKE'
        ),
        array(
            'key'       => 'wpcf-community-zip',
            'value'     => $search_param,
            'compare'   => 'LIKE'
        )
     )
  );

我使用的是 Wordpress 3.4.2

PS:这段代码是query_posts()参数的一部分。

【问题讨论】:

  • 它不起作用是什么意思?是否产生错误?它产生的结果是太少还是太多?您是否尝试过使用 get_sql 方法查看它实际生成的 SQL?
  • 没有产生任何结果,页面读取这段代码时卡住了。

标签: php custom-post-type wordpress


【解决方案1】:

为什么你不使用 WP_Query ? 你需要使用'relation'参数吗?

使用这个例子..它的工作:

'meta_query' => array(
    array(
    'key' => 'color',
    'value' => 'blue',
    'type' => 'CHAR',
    'compare' => '=' //'=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'
    ),
    array(
        'key' => 'price',
        'value' => array( 1,200 ),
        'compare' => 'NOT LIKE'
    )
),

【讨论】:

  • 我已经把所有的逻辑设置好了,query_posts()有什么问题?
  • 没有问题,推荐唯一的WP_query,因为它的读取方式和你的参数
猜你喜欢
  • 2018-12-17
  • 2015-03-15
  • 2018-02-28
  • 2017-06-12
  • 1970-01-01
  • 2020-04-18
  • 1970-01-01
  • 2019-02-04
相关资源
最近更新 更多