это пост мета надо брать. я делал так только с атрибутами у товаров
вот кусок из functions.php
function get_ajax_posts()
{
$args = array(
'post_status' => array('publish'),
'date_query' => array(
array(
'year' => $_POST['year'],
'month' => $_POST['monyj'], // обратите внимание, раньше было monthnum, теперь просто month
),
),
);
$ajaxposts = new WP_Query($args);
$response = '';
if ($ajaxposts->have_posts()) {
while ($ajaxposts->have_posts()) {
$ajaxposts->the_post();
$response .= get_template_part('product_template');
}
} else {
$response .= get_template_part('none');
}
echo $response;
exit;
}
add_action('wp_ajax_get_ajax_posts', 'get_ajax_posts');
add_action('wp_ajax_nopriv_get_ajax_posts', 'get_ajax_posts');
get_template_part это просто файл в корне темы в который я закитнул верстку вывода поста на страницу архива, погугли как использовать
avada.dolgoter.site/shop тут как раз делал такое просто в options value передавай значения нужные и после отправки формы эти значения уйдут в functions.php
вот код который должен отрабьотать по нажатию на кнопку
$.ajax({
type: 'POST',
url: '/wp-admin/admin-ajax.php',
dataType: "html",
data: {
action : 'get_ajax_posts',
weight: $("select.weight.select-hidden").val(),
weight_hidden: $(".weight ~ .select-options li:nth-child(2)").attr("rel"),
taste: $("select.taste.select-hidden").val(),
taste_hidden: $(".taste ~ .select-options li:nth-child(2)").attr("rel"),
odrer_price: order,
},
success: function( data ) {
$( '.prods_row' ).html( data );
}
});