$limit, 'orderby' => $orderby, 'order' => $order, 'columns' => $columns, ] ); wc_set_loop_prop('name', 'up-sells'); wc_set_loop_prop('columns', apply_filters('woocommerce_upsells_columns', isset($args['columns']) ? $args['columns'] : $columns)); $orderby = apply_filters('woocommerce_upsells_orderby', isset($args['orderby']) ? $args['orderby'] : $orderby); $order = apply_filters('woocommerce_upsells_order', isset($args['order']) ? $args['order'] : $order); $limit = apply_filters('woocommerce_upsells_total', isset($args['posts_per_page']) ? $args['posts_per_page'] : $limit); // Get visible upsells then sort them at random, then limit result set. $upsells = wc_products_array_orderby( array_filter( array_map( 'wc_get_product', $product->get_upsell_ids() ), 'wc_products_array_filter_visible' ), $orderby, $order ); $upsells = $limit > 0 ? array_slice($upsells, 0, $limit) : $upsells; if (blocksy_is_visible(get_theme_mod('upsell_products_visibility', [ 'desktop' => true, 'tablet' => false, 'mobile' => false, ]))) { echo blocksy_generate_upsell_products_output([ 'upsells' => $upsells ]); } if (is_customize_preview()) { blocksy_add_customizer_preview_cache(blocksy_html_tag( 'div', ['data-id' => 'upsell-products'], blocksy_generate_upsell_products_output([ 'upsells' => $upsells, 'for_preview' => true ]) )); } } } if (! function_exists('blocksy_generate_upsell_products_output')) { function blocksy_generate_upsell_products_output($args = []) { $args = wp_parse_args($args, [ 'upsells' => null, 'for_preview' => false ]); if (! $args['upsells']) { return ''; } ob_start(); $limit = intval(get_theme_mod('related_products', 4)); ?>
>

$upsell) : ?> get_id()); setup_postdata($GLOBALS['post'] =& $post_object); if (! $args['for_preview'] && $index + 1 > $limit) { break; } wc_get_template_part('content', 'product'); ?>