//-----------------------------
//Products dropdown from same category SHORTCODE

add_shortcode( 'products_dropdown', 'wc_products_from_cat_dropdown' );
function wc_products_from_cat_dropdown() {
if( ! is_product() ) return;

ob_start();

$query = new WP_Query( array(
'post_type' => 'product',
'post_status' => 'publish',
'posts_per_page' => '-1',
'post__not_in' => array( get_the_id() ),
'tax_query' => array( array(
'taxonomy' => 'product_cat',
'field' => 'ids',
'terms' => wp_get_post_terms( get_the_id(), 'product_cat', array( 'fields' => 'ids' ) ) ,
) ),
) );

if ( $query->have_posts() ) :

echo '<div class="products-dropdown"><select name="products-select" id="products-select">
<option value="">'.__('Choisir un autre millésime').'</option>';

while ( $query->have_posts() ) : $query->the_post();

echo '<option value="'.get_permalink().'">'.get_the_title().'</option>';

endwhile;

echo '</select> <button type="button" style="padding:2px 10px; margin-left:10px;">'._("Voir").'</button></div>';

wp_reset_postdata();

endif;

?>
<script type='text/javascript'>
jQuery(function($){
var a = '.products-dropdown', b = a+' button', c = a+' select', s = '';
$(c).change(function(){
s = $(this).val();
console.log(s); // just for testing (to be removed)
});
$(b).click(function(){
if( s != '' ) location.href = s;
});

});
</script>
<?php

return ob_get_clean();
}

// [products_dropdown]