我已经获得了带有meta-key的主要产品:addons 和此键中的元值:129456,968945,495435 这三个数字中的每一个都是这些元值的关键。例如:
Post 1:meta\\u键:subproduct meta\\u值:129456
Post 2:meta\\u键:subproduct meta\\u值:968945
Post 3:meta\\u键:subproduct meta\\u值:495435
现在我想在主产品中显示这三个帖子。我的代码:
<?php if (!empty($addons = get_post_meta(get_the_ID(), \'addons\', true))):?>
<?php
$params = array(
\'post_type\' => \'product\',
\'meta_key\' => \'subproduct\',
\'meta_value\' => $addons
);
$wc_query = new WP_Query($params);
?>
<?php while ($wc_query->have_posts()) : $wc_query->the_post(); ?>
<?php include(rh_locate_template(\'inc/parts/woomain.php\')); ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif;?>
对于一个元值,它起作用了,但对于几个元值,它不再起作用了。你如何看待这三篇文章?
SO网友:Shazzad
元字段Addon 具有元值129456,968945,495435
作为字符串。要在元查询中使用此值,应将该值拆分为一个数组。喜欢array( 129456, 968945, 495435 )
.
WordPress有很好的功能wp_parse_id_list()
, 它可以将逗号分隔的项拆分为数组。
<?php if ( ! empty( $addons = get_post_meta( get_the_ID(), \'addons\', true ) ) ) : ?>
<?php
$params = array(
\'post_type\' => \'product\',
\'meta_key\' => \'subproduct\',
\'meta_value\' => wp_parse_id_list( $addons )
);
$wc_query = new WP_Query($params);
?>
<?php while ($wc_query->have_posts()) : $wc_query->the_post(); ?>
<?php include(rh_locate_template(\'inc/parts/woomain.php\')); ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif;?>