cross-sells.php (in cart folder)
<?php
/**
* Cross-sells
*
* This template can be overridden by copying it to yourtheme/woocommerce/cart/cross-sells.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @package WooCommerce/Templates
* @version 3.0.0
*/
defined( 'ABSPATH' ) || exit;
//$up_sells = array();
$products_ids_array = array();
foreach( WC()->cart->get_cart() as $cart_item ){
$products_ids_array[] = $cart_item['product_id'];
}
//print_r($products_ids_array);
foreach ( $products_ids_array as $product_id ) {
//print_r($cart_item['data']);
$product = wc_get_product( $product_id );
$up_sells[] = $product->get_upsell_ids();
}
$up_sells = call_user_func_array('array_merge', $up_sells);
$up_sells_unique = array_unique($up_sells);
shuffle($up_sells_unique);
$output = array_slice($up_sells_unique, 0, 2);
if ( $up_sells ) : ?>
<div class="cross-sells">
<h2><?php esc_html_e( 'You may be interested in…', 'woocommerce' ); ?></h2>
<?php woocommerce_product_loop_start(); ?>
<?php foreach ( $output as $up_sell ) : ?>
<?php
$post_object = get_post( $up_sell );
setup_postdata( $GLOBALS['post'] =& $post_object );
wc_get_template_part( 'content', 'product' ); ?>
<?php endforeach; ?>
<?php woocommerce_product_loop_end(); ?>
</div>
<?php
endif;
wp_reset_postdata();
#cart #functions #upsells #winkelwagen #woocommerce