__( 'Add upsell products to product page', 'flatsome' ), ) // Args ); } /** * Front-end display of widget. * * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved values from database. */ public function widget( $args, $instance ) { global $product, $woocommerce, $woocommerce_loop; /* Disable if not on product page */ if(!function_exists('is_product') || !is_product()) return; $upsells = fl_woocommerce_version_check('3.0.0') ? $product->get_upsell_ids() : $product->get_upsells(); if ( sizeof( $upsells ) == 0 ) return; extract( $args ); if ( isset( $instance[ 'title' ] ) ) { $title = apply_filters( 'widget_title', $instance['title'] ); } else { $title = __( 'Complete the look', 'flatsome' ); } $meta_query = $woocommerce->query->get_meta_query(); $args = array( 'post_type' => 'product', 'ignore_sticky_posts' => 1, 'no_found_rows' => 1, 'posts_per_page' => 9, 'orderby' => 'rand', 'post__in' => $upsells, 'post__not_in' => array( $product->get_id() ), 'meta_query' => $meta_query ); $products = new WP_Query( $args ); echo $before_widget; if ($products->have_posts()) : if ( ! empty( $title ) ) echo $before_title . $title . $after_title; ?>