2015-11-04 18 views
0

變量:傳遞變量到WP query_posts陣列

$products_in_cart = '112,109,106'; 

的query_posts:

query_posts(array( 
'post_type' => 'product', 
'post__not_in' => array($products_in_cart), 
... 

如果我通過112,109,106查詢$products_in_cart更換工作。

這個變量在循環外是好的,不明白這個基本用法有什麼問題,謝謝你的幫助。

+0

我的猜測是,'陣列(112,96,80)'是Array [[0] => 112 [1] => 96 [2] => 80)','array('112,96,80')'是Array([0] => 112,96 ,80)',所以當你把它看成是一個字符串時,它將該值看作一個字符串,而不是每個值都是分開的(由於引號)。 –

回答

2

您必須將ID數組傳遞給post__not_in。因爲你需要在'post__not_in'數組,要創建一個數組,但有一個輸入

... 
'post__not_in' => explode(",", $products_in_cart), 
... 
+0

感謝您的幫助,現在工作得很好 – jjj

1

'112, 109, 106'如果你開始一個逗號分隔的字符串,你可以使用PHP函數explode將其擴展到一個數組。您必須使用explode功能。事情是這樣的:

$products_in_cart = '112,109,106'; 

然後:

'post__not_in' => explode(",", $products_in_cart), 

或者只是創建從一開始的數組:

$products_in_cart = array(112, 109, 106);