我有一个元字段" a" a1,a2,a11乘法值等等。
get_post_meta(id,' a');显示:数组数组([0] => a1 [1] => a6)
我按此代码搜索
array(
'key' => 'a',
'value' => 'a1',
'compare' => 'LIKE'
),
但是有一个问题,LIKE没有确切的搜索和巧合。在a1值记录中还显示字段a11。如何才能纠正搜索恰好是a1到值?
'value' => 'a1',
'compare' => '='
和
'value' => array('a1'),
'compare' => 'IN'
不能工作。什么都没有显示
答案 0 :(得分:0)
通过get_results
使用自定义查询。
$querystr = "
SELECT $wpdb->posts.*
FROM $wpdb->posts, $wpdb->postmeta
WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id
AND $wpdb->postmeta.meta_key = 'a'
AND $wpdb->postmeta.meta_value = 'a1'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'post'
AND $wpdb->posts.post_date < NOW()
ORDER BY $wpdb->posts.post_date DESC
";
$pageposts = $wpdb->get_results($querystr, OBJECT);
https://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query
答案 1 :(得分:0)
我觉得这段代码令人担忧。
$args = array(
'post_type' => 'my_custom_post_type',
'meta_key' => 'age',
'meta_query' => array(
array(
'key' => 'age',
'value' => array( 3, 4 ),
'compare' => 'IN',
),
),
);
$query = new WP_Query( $args );
祝你好运