Upsells weghalen product pagina

remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );

function remove_product_upsells() {
    if ( is_singular( 'product' ) && is_active_widget( false, false, $this->id_base ) ) {
        remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
    }
}

up sells tonen bij winkelmand (/wp-content/themes/<themamap>/woocommerce/cart/cross-sells.php

<?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 4.4.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( 'Andere klanten combineren dit met… ', 'wbmz' ); ?></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