我的帖子类型是product
。我使用meta key
为ht_featured
的复选框字段,当print_r
为数组([0] =>要素)时的元数值。
我的WP_Query:
$the_query = new WP_Query(
'post_type' => 'product',
'showposts' => 12,
'meta_query' => array(
array(
'key' => 'ht_featured',
'value' => array('featured'),
'compare' => 'IN'
)
)
);
它没有显示任何帖子。
我尝试使用value => 'featured'
和'compare' => 'EXISTS'
,但无效。
答案 0 :(得分:5)
WP_query需要在数组中传递。使用以下代码,如果有任何问题,请告诉我。
$the_query = new WP_Query (array (
'post_type' => 'product',
'showposts' => 12,
'meta_query' => array(
array(
'key' => 'ht_featured',
'value' => array('featured'),
'compare' => 'IN'
)
)
));
您可以参考wordpress论坛上的讨论:
http://wordpress.org/support/topic/how-to-wp_query-meta_query-value-string-contain-in-key-string
答案 1 :(得分:1)
当它们应该包含在数组中时,你将所有这些作为单独的参数传递给WP_Query。
$the_query = new WP_Query( array(
'post_type' => 'product',
'showposts' => 12,
'meta_query' => array(
array(
'key' => 'ht_featured',
'value' => array('featured'),
'compare' => 'IN',
),
),
) );
您能澄清一下您对复选框的看法吗?我建议您在保存产品时使用“是”或“否”更新“ht_featured”。然后将元查询中的“值”更改为“是”并删除“比较”。
答案 2 :(得分:0)
你确定没有php错误吗? 我认为WP_Query需要在一个数组中传递
$the_query = new WP_Query(
array(
'post_type' => 'product',
'showposts' => 12,
'meta_query' => array(
array(
'key' => 'ht_featured',
'value' => array('featured'),
'compare' => 'IN'
)
)
));
答案 3 :(得分:0)
在我使用函数get_posts()而不是创建新的WP_Query之前,我遇到了类似的问题。看看是否有帮助...