Порядок запросов WP по мета-ключу ASC не работаетPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Порядок запросов WP по мета-ключу ASC не работает

Сообщение Гость »


Я пытаюсь заказать WP_Query, начиная с метаполя _sale_price. Я пробовал использовать как order_by, meta_value, так и meta_value_num, но они оба возвращают сообщения в неправильном порядке (первые 20 сообщений расположены по порядку после что после более дорогих товаров появляются товары с более низкой стоимостью).

$args = массив( 'post_type' => 'продукт', 'заказ' => 'ASC', 'orderby' => 'meta_value', 'meta_key' => '_sale_price', 'posts_per_page' => -1, 'meta_query' => массив( множество( 'ключ' => '_sale_price', 'значение' => 0, 'сравнить' => '>', 'тип' => 'ЦИФР' ) ) ); $sale_books = новый WP_Query($args);
Изображение


Я также попробовал собственный запрос, но он все равно неверен:

глобальный $wpdb; $querystr = " ВЫБЕРИТЕ $wpdb->сообщения.* ИЗ $wpdb->posts, $wpdb->postmeta ГДЕ $wpdb->posts.ID = $wpdb->postmeta.post_id И $wpdb->postmeta.meta_key = '_sale_price' И $wpdb->postmeta.meta_value > 0 И $wpdb->posts.post_status = 'опубликовать' И $wpdb->posts.post_type = 'продукт' ORDER BY $wpdb->postmeta.meta_value ASC"; и я попробовал привести значение ORDER BY CAST(mt1.meta_value AS SIGNED) ASC, но все равно не работает.

Это простые продукты
Изображение


Вот что происходит, когда я повторяю номер индекса строки и get_post_meta($row->ID,'_sale_price',true) . Он нормально поднимается до строки 210, затем начинают появляться продукты с более низкими ценами:
Изображение


Я решил эту проблему с помощью usort, но мне все равно интересно, почему это не работает:
функция cmp($a, $b) { $testa = floatval(get_post_meta($a->ID, '_sale_price', true)); $testb = floatval(get_post_meta($b->ID, '_sale_price', true)); вернуть $testa $testb; } usort($pageposts, "cmp");
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сортировка массива по ключам ASC, затем по значениям ASC
    Anonymous » » в форуме Php
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • WordPress — оптимизируйте мета-запрос для трех мета-ключей одновременно
    Anonymous » » в форуме Php
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • WordPress — оптимизируйте мета-запрос для трех мета-ключей одновременно
    Anonymous » » в форуме Php
    0 Ответы
    48 Просмотры
    Последнее сообщение Anonymous
  • Какой крючок сохранить мета -мета -металлургию в Woocommerce?
    Anonymous » » в форуме Php
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • (WooCommerce) Невозможно обновить мета -мета
    Anonymous » » в форуме Php
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

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