2015-11-04 56 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);