2015-05-31 32 views
1

我修改了一個Wordpress查詢。排除/不等於wordpress查詢中的多個值

我需要排除三個值,但不知道如何去做。我讀過很多人通過一個以上的價值來匹配但不排除。我在幾個小時內嘗試了幾件事情。

$popularpost = new WP_Query(array('posts_per_page' => '12', 
'cat' => $cat_id, 
'posts_type' => 'post', 
'paged' => $paged, 
'meta_key' => 'post_price', 
'meta_value' =>'SWAP', 'FREE', 'WANTED', 
'meta_compare' => '!=', 

任何幫助,非常感謝。

回答

1

這裏有一個問題:

'meta_value' =>'SWAP', 'FREE', 'WANTED', 

在這種情況下meta_value設置爲SWAPFREEWANTED只是數組中的單獨條目。編寫代碼了這樣揭示了問題:

array( 
    'posts_per_page' => '12', 
    'cat' => $cat_id, 
    'posts_type' => 'post', 
    'paged' => $paged, 
    'meta_key' => 'post_price', 
    'meta_value' => 'SWAP', 
    'FREE', 
    'WANTED', 
    'meta_compare' => '!=', 
    ... 
) 

我想這是你想要的東西:

'meta_value' => array('SWAP', 'FREE', 'WANTED'), 
+0

嗨,那裏,謝謝你看這個。我已經嘗試過,但我不認爲它已經奏效。 – user3078885

+0

$ popularpost =新WP_Query(陣列( 'posts_per_page'=> '12', \t \t \t \t \t \t \t '貓'=> $ CAT_ID, \t \t \t \t \t \t \t 'posts_type'=> '後' , \t \t \t \t \t \t \t '尋呼'=> $尋呼, \t \t \t \t \t \t \t 'meta_key'=> 'post_price', \t \t \t \t \t \t \t 'meta_value'=>陣列( '交換', 'FREE', 'WANTED'), 'meta_compare'=> '!=' \t \t \t \t \t \t \t)); – user3078885

1

我能得到這個工作,繼承人的代碼,我的情況下,用任何人有興趣

$popularpost = new WP_Query(array('posts_per_page' => '12', 
         'cat' => $cat_id, 
         'posts_type' => 'post', 
         'paged' => $paged, 
         'meta_key' => 'post_price', 
         'meta_query' => array(
    array(
     'key' => 'post_price', 
     'value' => 'SWAP', 
     'compare' => '!=' 

    ), 
    array(
     'key' => 'post_price', 
     'value' => 'FREE', 
     'compare' => '!=' 

    ), 
    array(
     'key' => 'post_price', 
     'value' => 'WANTED', 
     'compare' => '!=' 

    ) 
    ), 
    ));