我有两个带有每个复选框的metabox。在下面的代码中,它分别命名为test2
和test3
。我已经将两个值保存在单个后置元键中。经检查,我发现它保存为以下内容。
a:4:{s:5:"test1";s:0:"";s:5:"test2";b:1;s:5:"test3";b:1;}
我希望在元查询中使用test3
值。我有以下查询,
$args = array (
'post_type' => 'my_custom_cpt',
'meta_query' => array (
array (
'key' => 'test3',
'value' => 1,
'compare' => 'LIKE',
)
),
);
$loop = new WP_Query( $args );
我将帖子meta保存在键my_test_pm
中。我尝试将其作为meta query
键的键。仍然没有任何帖子返回。
答案 0 :(得分:1)
您尝试过这样吗?
$args = array(
'post_type' => 'my_custom_cpt',
'meta_query' => array(
array(
'key' => 'test3',
'value' => sprintf(':"%s";', 1),
'compare' => 'LIKE'
)
)
);
$loop = new WP_Query( $args );
或使用自定义查询
global $wpdb;
$query = $wpdb->prepare("SELECT `post_id` FROM `wp_postmeta` WHERE `post_id` IN (SELECT `ID` FROM `wp_posts` WHERE `post_type` = 'my_custom_cpt')
AND `meta_key` = 'test3' AND `meta_value` LIKE '%s'",'%1%');
$ids = $wpdb->get_col($query);
$args = array(
'post__in' => $ids,
'post_type' => 'my_custom_cpt'
);
$posts = get_posts($args);
print_r($posts);
答案 1 :(得分:-2)
$ args = array('post_type'=>'my_custom_cpt','meta_query'=> array( 数组( 'key'=>'my_test_pm', '值'=>数组('test3'), '比较'=>'喜欢', ), ), ); $ query =新的WP_Query($ args); 你这样尝试过吗?