我寫了一個名爲'employees'的自定義帖子類型,現在試圖通過在顯示部門頁面後調用此帖子類型來查詢它。我創建了一個帶有一些參數(如部門)的自定義元框,並帶有一個下拉菜單,因此人們可以輕鬆地將該人員分配到正確的部門。如果符合標準,員工的照片(或在我的情況下,字樣crap
作爲測試)應顯示。Wordpress中的元查詢被忽略
但是,我似乎有嘗試獲得正確的查詢問題。我的代碼如下。我需要清理一些東西,並且它的代碼正在進行中,所以不要寫下它是如何編程的。它只是現在的查詢。
這是元框
$prefix = 'shm_';
$meta_box = array(
'id' => 'meta-employees',
'title' => 'Overige informatie',
'page' => 'employees',
'context' => 'normal',
'priority' => 'high',
'fields' => array(
array(
'name' => 'position',
'desc' => 'The name of the job position',
'id' => $prefix . 'position',
'type' => 'text',
'std' => ''
),
array(
'name' => 'department',
'desc' => 'Select the department this employee is working in',
'id' => $prefix . 'department',
'type' => 'select',
'options' => array('Board', 'Sales, Marketing & Revenue', 'Option 3', 'Option 4', 'Option 5', 'Option 6')
)
)
);
的代碼,這是查詢
<?php
if(!is_front_page()){
if (is_page('board')){
$page = 'board';
}elseif (is_page('sales-marketing-revenue')){
$page = 'Sales, Marketing & Revenue';
}
echo $page;
$i = 0;
$args = array(
'numberposts' => -1,
'post_type' => 'employees',
'meta_query' => array(
'key' => 'department',
'value' => $page,
'compare' => '=',
)
);
query_posts($args);
if (have_posts()) :
while (have_posts()) : the_post();
echo "crap";
?>
<?php endwhile; ?>
<?php endif; ?>
<?php } ?>
這一塊技術上的工作,但它吐出所有的員工,而不是我設置的那些一個特定的部門,如board
。當我打印數組時,一切看起來都很好。
Array ([numberposts] => -1 [post_type] => employees [meta_query] => Array ([key] => department [value] => Sales, Marketing & Revenue [compare] => =))
然而,有市場銷售收入&連有它只有1人,而不是3(佔員工總數的到目前爲止,我已進入),它們顯示出來。它看起來像忽略了元查詢。
有人可以幫助我嗎?
在WordPress的法典確切的說:https://codex.wordpress.org/Class_Reference/WP_Meta_Query – Dorvalla