我的搜索工作正在进行,但客户只是提出了一个我没有考虑的请求。如果你按名字(如john)或姓氏(如doe)搜索,这绝对会带来你的结果。但如果你搜索他们的全名(如john doe),你会得到0个结果。
我环顾四周,但似乎找不到一种方法将搜索结果与“first\\u name last\\u name”进行比较。
我浏览了论坛上的类似问题,但它们没有帮助/似乎完全朝着不同的方向发展。如果有人有任何知识,或者能给我指出正确的线索,我将不胜感激。
以下是我的代码摘要:
$args = array(
\'role\' => \'Subscriber\',
\'meta_query\' => array(
array(
\'key\' => \'membership_class\',
\'value\' => \'Full\',
\'compare\' => \'=\',
\'type\' => \'CHAR\',
),
array(
\'relation\' => \'OR\',
array(
\'key\' => \'first_name\',
\'value\' => $usersearch,
\'compare\' => \'LIKE\'
),
array(
\'key\' => \'last_name\',
\'value\' => $usersearch,
\'compare\' => \'LIKE\'
),
array(
\'key\' => \'personal_city\',
\'value\' => $usersearch,
\'compare\' => \'LIKE\',
\'type\' => \'CHAR\',
),
array(
\'key\' => \'personal_province\',
\'value\' => $usersearch,
\'compare\' => \'LIKE\',
\'type\' => \'CHAR\',
),
array(
\'key\' => \'treatments\',
\'value\' => $usersearch,
\'compare\' => \'LIKE\',
),
),
),
);