Я работаю на сайте ресторана, используя Woocommerce.Попытка отобразить связанные продукты в модальном режиме.Таким образом, у меня есть родительские продукты и связанные продукты (ребенок).Когда пользователь нажимает на значок корзины для родительских продуктов, тогда связанные / дочерние продукты появляются в модальном режиме.Затем пользователь может выбрать несколько продуктов оттуда и добавить в корзину.Это работает почти идеально.Но я хочу отобразить дочерние продукты под соответствующим родительским продуктом на странице сведений о заказе (в админке) и в электронной почте (счет-фактура).В настоящее время детские товары появляются дважды.В качестве родительских продуктов и снова под родительским.Как видите, продукты с зеленой маркировкой - детские.Я не хочу, чтобы они снова отображались красным цветом.
Вот внешний интерфейс: https://technovicinity.com/development/wordpress/mahmodul/bbeatery/our-menu/
Спасибо всем экспертам.
введите изображениеописание здесь
вот код:
<div style="padding-left: 12px;width: 125%;padding-top: 20px;">
<?php
global $wpdb, $woocommerce;
$product_id = $item->get_product_id();
if($product_id ){
$product = new WC_Product($product_id);
$upsells = $product->get_upsell_ids();
if(!empty( $upsells )){
$args = array(
'post_type' => 'product',
'ignore_sticky_posts' => 1,
'no_found_rows' => 1,
'posts_per_page' => 30,
'orderby' => 'name',
'post__in' => $upsells,
'post__not_in' => array($item_id),
);
$product_upsells = new WP_Query($args);
if ($product_upsells->have_posts()) :
$i=1;
while ( $product_upsells->have_posts() ) : $product_upsells->the_post();
$child_name = get_the_title();
$results = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}woocommerce_order_items WHERE order_item_name ='$child_name' AND order_id = '$order->id'", OBJECT );
foreach($results as $row){
$order_product_name = $row->order_item_name;
if($child_name == $order_product_name){ ?>
<li>
<?php
//print_r($post->ID);
$child_name = get_the_title();
$_product = wc_get_product( $post->ID );
$Price = $_product->get_price();
$currency_number = get_woocommerce_currency_symbol();
echo $child_name;
?>
<span style="float:right;">
<?php echo $currency_number.$Price. ' X 1'; ?>
<span style="float:right">
<?php $total_order = $Price * 1; $total_order; ?>
</span>
<span style="float:right; padding-left:46px;">
<?php echo $currency_number.''.$total_order; ?>
</span>
</li>
<?php
/*echo "<br>";
echo $post->ID;
echo "<br>"; */
?>
<?php
}
}
$i++;
endwhile;
endif;
wp_reset_postdata();
}
}
?>
</div>