Как отсортировать переменные продукты WooCommerce по максимальной цене вариации в пользовательском запросеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как отсортировать переменные продукты WooCommerce по максимальной цене вариации в пользовательском запросе

Сообщение Anonymous »

Я пытаюсь отсортировать продукты WooCommerce с максимальной вариацией цены (мой веб-сайт содержит простые и переменные продукты).
Мой пользовательский запрос ниже сортирует продукты по цене, но проблема в том, что что он берет минимальную вариационную цену из переменных продуктов. Есть ли способ вместо этого отсортировать их по максимальной цене вариации?
function products_load_more() {
$size = $_POST['size'];
$count = $_POST['count'];
$strength = $_POST['strength'];
$country = $_POST['country'];
$taxonomy_id = $_POST['taxonomy_id'];
$category = $_POST['category'];
$amount1 = (int) $_POST['amount1'];
$amount2 = (int) $_POST['amount2'];
$sorting = $_POST['sorting'];
$range_slider_array = array(0=>0,1=>100,2=>200,3=>300,4=>400,5=>500,6=>600,7=>700,8=>800,9=>900,10=>1000,11=>1500,12=>2000,13=>2500,14=>3000,15=>3500,16=>4000,17=>4500,18=>5000);

if($sorting == "h_t_l"){
$order = "DESC";
}
else{
$order = "ASC";
}
$args = array(
'post_type' => 'product',
'posts_per_page' => 8,
'orderby' => 'date',
'order' => 'DESC',
'paged' => $_POST['paged'],
'tax_query' => array( array(
'taxonomy' => 'product_cat',
'field' => 'term_id',
'terms' => $taxonomy_id
) )
);

// price
if(isset($_POST['amount1']) && isset($_POST['amount2'])){
if(trim($amount1) != "" && trim($amount2) != ""){
if($range_slider_array[$amount2] == 5000){
$args['meta_query'][] = array(
'key' => '_price',
'value' => $range_slider_array[$amount1],
'compare' => '>=',
'type' => 'NUMERIC'
);
}
else{
$args['meta_query'][] = array(
'key' => '_price',
'value' => array($range_slider_array[$amount1], $range_slider_array[$amount2]),
'compare' => 'BETWEEN',
'type' => 'NUMERIC'
);
}
}
}

$args['orderby'] = 'meta_value_num';
$args['order'] = 'DESC';
$args['meta_key'] = '_price';

$ajaxposts = new WP_Query($args);
$count = $ajaxposts->found_posts;
$response = '';

if($ajaxposts->have_posts()) {
while($ajaxposts->have_posts()) : $ajaxposts->the_post();
include get_stylesheet_directory()."/inc/product.php";
endwhile;
} else {
$response = 0;
}
echo $response;
exit;
}
add_action('wp_ajax_products_load_more', 'products_load_more');
add_action('wp_ajax_nopriv_products_load_more', 'products_load_more');


Подробнее здесь: https://stackoverflow.com/questions/787 ... a-custom-q
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»