我有三個選擇框允許過濾自定義帖子列表,可以選擇任何或全部選項,然後單擊「過濾器」按鈕,然後重新加載頁面並將過濾的變量添加到該URL作爲查詢字符串。這適用於這兩個自定義分類完全沒有問題,我有:如何在過濾後使用自定義字段值修改Wordpress WP_Query?
$categories = array('company-sector', 'company-location');
foreach ($categories as $category) {
if (isset($_GET[$category]) && !empty($_GET[$category])) {
$query['tax_query'][] = array(
'taxonomy' => $category,
'field' => 'slug',
'terms' => $_GET[$category]
);
}
}
然而,在使用第三過濾器(與ACF創建一個自定義字段)相同的邏輯,帖子列表不會改變:
if (isset($_GET['company-status']) && !empty($_GET['company-status'])) {
$query['meta_query'][] = array(
'key' => 'company_status',
'value' => $_GET['company-status'],
);
}
此元查詢工作就好了,如果我手動添加它到初始WP_Query像這樣:
$query = array(
'post_type' => 'company-post',
'posts_per_page' => $posts_per_page,
'orderby' => 'title',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'company_status',
'value' => 'acquired'
)
)
);
但是,試圖將其添加到初始查詢得到可變FR後om查詢字符串似乎不工作,我在這裏做錯了什麼?
//編輯
即使這是工作:
$query = array(
'post_type' => 'company-post',
'posts_per_page' => $posts_per_page,
'orderby' => 'title',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'company_status',
'value' => $_GET['company-status']
)
)
);
所以它必須是事做我如何追加meta_query初始WP_Query ...
如果您的var_dump($ _ GET ['company-status'])是否獲得了預期的結果? – Stender
還沒有嘗試var_dump(),但是echo $ _GET ['company-status'];返回我期待看到的。 – JFK1980
var_dump()返回:string(7)「current」。 ('當前'或'已獲得'是目前的兩種選擇,在後臺顯示爲ACF單選按鈕。) – JFK1980