Intereting Posts
Внесите специальный сценарий в создание учетной записи (и никогда больше) Изображения не отображаются на iPhone Постоянная ссылка продукта WooCommerce изменена Анонимные сообщения спама, когда только зарегистрированные пользователи могут комментировать Как установить медиа-папку для каждого типа вне медиа-каталога Какому настраиваемому типу сообщений принадлежит текущая должность? Связи Blogroll, отсортированные по категориям в таблице WordPress или плагин нужен tomcat? Проверьте, является ли первый абзац изображением, а затем отображает пользовательский код сразу после него? Не удается загрузить изображение продукта в панели инструментов поставщика pro с помощью браузера Chrome wp_enqueue_media () замедляет мой сайт WP Показывать пользовательскую таксономию не в подменю Выборочно Отключение PHP через .htaccess в корневом каталоге Рекомендовать плагин для электронной коммерции для простых нужд Возможность ротации удалять несколько сообщений типа post не работает

Возрастание ордера игнорируется в мета-запросе?

Я использую pre_get_posts для изменения моего основного запроса и присоединения к нему мета-запроса. Это на странице архива продуктов woocommerce (… не уверен, что это изменит ситуацию).

function has_upcoming_date( $query ) { if( ! is_admin() && $query->is_main_query() && $query->query_vars['product_cat'] == 'wine-classes' ) { $meta_query = array( 'key'=>'wfd_upcoming_booking_date', 'value'=>'0', 'compare'=>'>' ); $query->set('meta_query', $meta_query); $query->set('posts_per_page', -1); $query->set('meta_key', 'wfd_upcoming_booking_date'); $query->set('orderby', 'meta_value_num'); $query->set('order', 'ASC'); } } add_action( 'pre_get_posts', 'has_upcoming_date', 10000000 ); 

Мета-запрос работает хорошо и правильно фильтрует сообщения. Кажется, что orderby => meta_value работает. Но порядок не изменяется до возрастания.

Это запрос sql, который я вижу с помощью Query Monitor:

 SELECT wp_posts.* FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) INNER JOIN wp_postmeta AS mt1 ON ( wp_posts.ID = mt1.post_id ) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (110) ) AND ( wp_postmeta.meta_key = 'wfd_upcoming_booking_date' AND ( ( mt1.meta_key = 'wfd_upcoming_booking_date' AND CAST(mt1.meta_value AS SIGNED) > '0' ) ) ) AND wp_posts.post_type = 'product' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'acf-disabled' OR wp_posts.post_status = 'private') GROUP BY wp_posts.ID ORDER BY wp_postmeta.meta_value+0 DESC, wp_posts.post_date DESC 

Может ли кто-нибудь сказать, почему это не будет работать или где еще я должен искать диагностировать?