Php 如何在meta_query()中使用LIKE

Php 如何在meta_query()中使用LIKE,php,wordpress,Php,Wordpress,出于某种原因,我的LIKE参数似乎不起作用。如果我改为使用=,则此查询有效 数组: $ref_query = array( 'meta_key' => 'reference_code', 'value' => array($ref), 'compare' => 'LIKE' ); 这个小阵列是其他几个阵列的一部分,这些阵列被推到下面的行中: $query->set( 'meta_query', $meta_query); 所有其

出于某种原因,我的LIKE参数似乎不起作用。如果我改为使用=,则此查询有效

数组:

$ref_query = array(       
  'meta_key' => 'reference_code',
  'value' => array($ref),
  'compare' => 'LIKE'       
);
这个小阵列是其他几个阵列的一部分,这些阵列被推到下面的行中:

$query->set( 'meta_query', $meta_query);

所有其他数组工作正常,包括它们的运算符(>=,使用
meta\u compare

:


meta_compare(字符串)-用于测试“meta_值”的运算符。可能的值为“=”、“!=”、“>”、“>=”、“请改用
meta_compare

:


meta_compare(string)-用于测试“meta_值”的运算符。当您仅对类似搜索文本使用compare时,可能的值为“=”、“!=”、“>”、“>=”、“,但如果您想使用数组,则需要在meta_查询中对其进行访问和关联

代码演示:

$meta_query[0] = array('relation' => 'OR');
$all_meta = array('type','Brand','companyname','contactperson','phone','website','openinghours','coffeemachine'/*,'map_location'*/,'map-address1','map-address2','map-address3','map-zip','map-state','map-city','price');
foreach ($all_meta as $meta) {
    $meta_query[0][] = array(
        'key'     => $meta,
        'value'   => $custom_key,
        'compare' => 'LIKE'
        );
    }           

当您仅对类似的搜索文本使用compare时,但如果您想使用数组,则需要在meta_查询中对其和关系进行分析

代码演示:

$meta_query[0] = array('relation' => 'OR');
$all_meta = array('type','Brand','companyname','contactperson','phone','website','openinghours','coffeemachine'/*,'map_location'*/,'map-address1','map-address2','map-address3','map-zip','map-state','map-city','price');
foreach ($all_meta as $meta) {
    $meta_query[0][] = array(
        'key'     => $meta,
        'value'   => $custom_key,
        'compare' => 'LIKE'
        );
    }           

并非所有数组都是从表单提交的,因此每个数组都包含在if语句中。此外,其他数组使用BETWEEN进行比较。并非所有数组都是从表单提交的,因此每个数组都包含在if语句中。此外,其他数组使用BETWEEN进行比较。