我的网站上有一个页面,用作搜索工具/搜索结果页面,供用户查找租赁空间。左侧是一列复选框,用户可以通过三个单独的自定义分类法过滤结果(space-types
, space-features
, space-areas
) 页面右侧列出了提交复选框表单后的结果。
我正在尝试正确查询空格(自定义帖子类型space-listings
) 基于每个分类法中所选的术语,但逻辑似乎不可能,我不知道其他方法如何实现。
这是所需的逻辑:如果空间列表中有space-types
以及所有space-features
用户已选择并具有space-areas
他们已经选择的。
以下是我使用查询数组得到的最接近的结果:
$searchspace = array (
\'post_type\'=>\'space_listing\',
\'posts_per_page\'=> 3,
\'paged\' => $paged,
\'tax_query\'=> array (
\'relation\' => \'AND\',
array (
\'taxonomy\' => \'space-types\',
\'field\' => \'slug\',
\'terms\' => $searchedtypes, //Array of selected types
\'operator\' => \'IN\'//default
),
array (
\'taxonomy\' => \'space-features\',
\'field\' => \'slug\',
\'terms\' => $searchedfeatures, //Array of selected features
\'operator\' => \'AND\'
),
array (
\'taxonomy\' => \'space-areas\',
\'field\' => \'slug\',
\'terms\' => $searchedareas, //Array of selected areas
\'operator\' => \'IN\'//default
),
)
);