$posts_per_page,
'orderby' => $orderby,
'columns' => $columns,
);
// Get visble cross sells then sort them at random.
$cross_sells = array_filter( array_map( 'wc_get_product', WC()->cart->get_cross_sells() ), 'wc_products_array_filter_visible' );
// Handle orderby and limit results.
$orderby = apply_filters( 'woocommerce_cross_sells_orderby', $orderby );
$cross_sells = wc_products_array_orderby( $cross_sells, $orderby, $order );
$posts_per_page = apply_filters( 'woocommerce_cross_sells_total', $posts_per_page );
$cross_sells = $posts_per_page > 0 ? array_slice( $cross_sells, 0, $posts_per_page ) : $cross_sells;
$attributes['cross_sells'] = $cross_sells;
$woocommerce_loop['columns'] = $columns;
wc_get_template( 'cart/cross-sells.php', $attributes );
}
/**
* Gets the shipping calculator template.
*/
function woocommerce_shipping_calculator() {
if ( ! is_cart() ) {
wc_get_template( 'cart/shipping-calculator.php' );
} else {
if ( 'yes' === get_option( 'woocommerce_shipping_cost_requires_address' ) ) {
echo '' . esc_html__( 'Enter your address to view shipping options.', 'Avada' ) . '';
} else {
echo '' . esc_html__( 'Please calculate shipping', 'Avada' ) . '';
}
}
}
/**
* Output the WooCommerce Breadcrumb.
*
* @since 5.2.1
* @param array $args The arguments for WooCommerce Breadcrumbs.
* @return void
*/
function woocommerce_breadcrumb( $args = array() ) {
$args = wp_parse_args(
$args,
apply_filters(
'woocommerce_breadcrumb_defaults',
array(
'delimiter' => ' / ',
'wrap_before' => '',
'before' => '',
'after' => '',
'home' => _x( 'Home', 'breadcrumb', 'woocommerce' ),
)
)
);
$breadcrumbs = new WC_Breadcrumb();
if ( ! empty( $args['home'] ) ) {
$breadcrumbs->add_crumb( $args['home'], apply_filters( 'woocommerce_breadcrumb_home_url', home_url() ) );
}
$args['breadcrumb'] = $breadcrumbs->generate();
/* @hooked WC_Structured_Data::generate_breadcrumblist_data() - 10 */
do_action( 'woocommerce_breadcrumb', $breadcrumbs, $args );
}
/* Omit closing PHP tag to avoid "Headers already sent" issues. */