如何使用自定义分类法和自定义字段搜索自定义 post 类型

How to search custom post types with custom taxonomies and custom fields

我正在尝试在 wordpress 中创建属性(自定义 post 类型)的自定义搜索。类别(销售和出租)和位置(都柏林 1、都柏林 4 等)是分类法(自定义分类法),价格(10000 等)是通过我匹配(小于或等于)自定义字段的函数填充的(acf) 价格所以我必须创建一个包含分类法和自定义字段的查询。其他两个自定义字段 (acf) 是显示和状态(如果它们已售出,则不应在搜索中)。单击提交时,它确实传递了正确的值,我 var_dumped 在列表结果页面上的值是正确的。我对 WP 的查询有问题,因为它将显示所有结果。

它应该根据 select 在 select 字段中编辑的值进行搜索,但它显示了所有结果。例如:如果 Sale 是 selected,那么应该只显示 Sale 的结果,但它显示了所有 15 个属性。

请帮助我是 PHP 和 WP 的新手。请为我的代码找到 link。 http://pastebin.com/9qKgjMnM

谢谢。

虽然我不确定这将是您问题的答案,但我确实注意到在您的代码中分类法名称(第 63 和 70 行)包含空格。我不确定您是如何注册分类法的,Wordpress 在此处指定的准则:https://codex.wordpress.org/Function_Reference/register_taxonomy 声明分类法名称不应包含任何空格 - "Name should only contain lowercase letters and the underscore character"。因此,只需确保您在代码中引用了正确的分类名称

编辑* 这里手头的问题是分类查询。在分类查询中使用 slug 时,你应该与数组进行比较,就像这样

array(
   'taxonomy' => 'location',
   'field' => 'slug',
   'terms'    => array($_GET['location']),
   'operator' => 'IN'
)