Wordpress отображать сообщения с несколькими значениями в мета - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть основной продукт с мета-ключом: аддоны и мета-значения в этом ключе: 129456,968945,495435 Каждое из этих трех чисел является ключом с этими мета-значениями. Например:

Сообщение 1: meta_key: субпродукт meta_value: 129456

Сообщение 2: meta_key: субпродукт meta_value: 968945

Сообщение 3: meta_key: subproduct meta_value: 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;?>

С одним мета-значением он работал, но с несколькими он больше не работает. Как вы оцениваете эти три сообщения?

Ответы [ 2 ]

0 голосов
/ 12 апреля 2020

Работает с этим кодом:

$params = array(
'post_type' => 'product',
'meta_query' => array(
    array(
        'key' => 'subproduct',
        'value' => $addons,
        'compare' => 'IN'
    )
)
);
0 голосов
/ 12 апреля 2020

Попробуйте изменить ваш запрос следующим образом и посмотрим, работает ли он

$params = array(
'post_type' => 'product',
'meta_query' => array(
    array(
        'key' => 'subproduct',
        'value' => array($addons),
        'compare' => 'IN'
    )
)
);
...