我正在编写一个用于搜索目的的元查询。我总共有16个键(字段),我需要从这些键中搜索关键字。到目前为止,我正在从4个键(键)中检索结果。但是,当我为所有字段扩展代码时,我得到了错误。请指出错误以及正确的做法。 运行正常的代码:
$WorkinFilter_k_s = array(
'meta_query' => array(
'relation' => 'OR',
array(
'relation' => 'OR',
array(
'key' => 'Building_Name',
'value' => '',
'compare' => 'LIKE'
),
array(
'key' => 'Street',
'value' => $keywords1,
'compare' => 'LIKE'
),
),
array(
'relation' => 'OR',
array(
'key' => 'Town',
'value' => $keywords1,
'compare' => 'LIKE'
),
array(
'key' => 'Description',
'value' => $keywords1,
'compare' => 'LIKE'
),
),
)
);
当我扩展所有16个字段时的代码。它不起作用:
$WorkinFilter_k_s = array(
'meta_query' => array(
'relation' => 'OR',
array(
'relation' => 'OR',
array(
'relation' => 'OR',
array(
'relation' => 'OR',
array(
'relation' => 'OR',
array(
'key' => 'Street',
'value' => $keywords1,
'compare' => 'LIKE'),
array(
'key' => 'COMMENTS1',
'value' => $keywords1,
'compare' => 'LIKE')
),
array(
'relation' => 'OR',
array(
'key' => 'COMMENTS3',
'value' => $keywords1,
'compare' => 'LIKE'
),
array(
'key' => 'Town',
'value' => $keywords1,
'compare' => 'LIKE'
)
)
),
array(
'relation' => 'OR',
array(
'key' => 'Building_Name',
'value' => $keywords1,
'compare' => 'LIKE'
)
array(
'key' => 'Description',
'value' => $keywords1,
'compare' => 'LIKE'
)
),
array('relation' => 'OR',
array(
'key' => 'District',
'value' => $keywords1,
'compare' => 'LIKE'),
array(
'key' => 'BulletPoint5',
'value' => $keywords1,
'compare' => 'LIKE')
)
)
),
array(
'relation' => 'OR',
array(
'relation' => 'OR',
array(
'relation' => 'OR',
array(
'relation' => 'OR',
array(
'key' => 'BulletPoint2',
'value' => $keywords1,
'compare' => 'LIKE'),
array(
'key' => 'BulletPoint3',
'value' => $keywords1,
'compare' => 'LIKE')
),
array(
'relation' => 'OR',
array(
'key' => 'BulletPoint1',
'value' => $keywords1,
'compare' => 'LIKE'
),
array(
'key' => 'BulletPoint6',
'value' => $keywords1,
'compare' => 'LIKE'
)
)
),
array(
'relation' => 'OR',
array(
'key' => 'BulletPoint7',
'value' => $keywords1,
'compare' => 'LIKE'
)
array(
'key' => 'BulletPoint8',
'value' => $keywords1,
'compare' => 'LIKE'
)
),
array('relation' => 'OR',
array(
'key' => 'BulletPoint9',
'value' => $keywords1,
'compare' => 'LIKE'),
array(
'key' => '',
'value' => $BulletPoint10,
'compare' => 'LIKE')
)
)
)
)
);
答案 0 :(得分:0)
它可能仍然工作效率低下,但是您只需要清理代码即可。
$WorkinFilter_k_s = array(
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'Street',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'COMMENTS1',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'COMMENTS3',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'Town',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'Building_Name',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'Description',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'District',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'BulletPoint5',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'BulletPoint2',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'BulletPoint3',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'BulletPoint1',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'BulletPoint6',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'BulletPoint7',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'BulletPoint8',
'value' => $keywords1,
'compare' => 'LIKE',
),
array(
'key' => 'BulletPoint9',
'value' => $keywords1,
'compare' => 'LIKE',
),
),
);