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();
Geef een reactie 0