Or, embed this snippet using GenerateWP WordPress Plugin.

Download

Clone

wc-product (basic)

// WP_Query arguments
$args = array (
	'post_type'              => array( 'product' ),
	'post_status'            => array( 'published' ),
	's'                      => 'keyword string',
	'nopaging'               => false,
	'posts_per_page'         => '10',
	'cache_results'          => true,
	'update_post_meta_cache' => true,
	'update_post_term_cache' => true,
);

// The Query
$query = new WP_Query( $args );

// The Loop
if ( $query->have_posts() ) {
	while ( $query->have_posts() ) {
		$query->the_post();
		// do something
	}
} else {
	// no posts found
}

// Restore original Post Data
wp_reset_postdata();