我的自定义字段vardump()用于具有良好值(12)的帖子是:
Custom_field = array(1) { [0]=> int(12) }
我的查询的参数是:
$artistArg = array(
'numberposts' => -1,
'category_name' => 'oeuvres',
'meta_query' => array(
array(
'key' => 'Custom_field',
'compare' => 'EXISTS',
'value' => array(12,29,34)
)
)
);
它不起作用...如果我从args中删除它返回所有帖子的值,但是当我传递它的值时它什么也没有返回,我试图将比较改为“=”或“IN”也..我想我在这里做错了...(我也尝试过“非阵列”自定义字段,一切正常......) 谢谢
编辑: 由于我现在没有找到解决方案,我只是这样做:
<?php
//Get the value
$authorId = get_the_ID();
//query the post with the good meta_key
$artistArg = array(
'numberposts' => -1,
'category_name' => 'oeuvres',
'meta_query' => array(
array(
'key' => 'artiste'
)
)
);
//In the query I just filter the results with the given array of the custom field...
$artDisplay = new WP_Query( $artistArg );
// The Loop
if ( $artDisplay->have_posts() ) {
echo '<h2>Art: </h2><ul id="discover">';
while ( $artDisplay->have_posts() ) {
$artDisplay->the_post();
$artiste = get_field('artiste');
if ($artiste[0] == $authorId):
echo '<li>';
echo "<div class='thumbDiscover'>";
echo "<a href='".get_permalink()."'>";
the_post_thumbnail('thumb');
echo "</a>";
echo "</div><span>";
echo "<a href='".get_permalink()."'>";
the_title();
echo "</a>";
echo "</span>";
echo '</li>';
endif;
}
echo '</ul>';
} else {
// no posts found
}
endif;
?>
所以它并不完美......如果有人有适当的解决方案, 谢谢
答案 0 :(得分:0)
尝试直接在值
中传递数组$artistArg = array(
'numberposts' => -1,
'category_name' => 'oeuvres',
'meta_query' => array(
array(
'key' => 'Custom_field',
'value' => array(12,29,34)
)
)
);
答案 1 :(得分:0)
作为sated:
value (string|array)
- 自定义字段值(注意:数组支持是 限制为“IN”,“NOT IN”,“BETWEEN”或“NOT”的比较值 BETWEEN')(使用'EXISTS'或'NOT时,可省略此值 EXPTS在WordPress 3.5和更高版本中的比较)
所以你可能不会使用'compare' => 'EXISTS'
答案 2 :(得分:0)
$artistArg = array(
'numberposts' => -1,
'meta_key' => 'Custom_field',
'category_name' => 'oeuvres',
'meta_query' => array(
array(
'key' => 'Custom_field',
'compare' => 'IN'
'value' => array(12,29,34)
)
)
);
传递'meta_key'=&gt;数组see the stack over flow link中的'Custom_field'