Intereting Posts
Переопределить конфигурацию базы данных для WordPress multiblog публикация на передней панели не работает на интерфейсной странице WordPress wp-json API – Пользовательский тип сообщения возвращает 403 woocommerce – настроить уведомление об ошибке на странице проверки Необходимо вернуться к старой версии wordpress Аргументы аргумента WordPress options_type Имеет ли WP глобальный идентификатор $ id? Пользовательская тема updater – случайная строка в новом названии темы Как добавить класс в кнопку отправки комментариев? Добавление содержимого в архивные и таксономические страницы для пользовательских типов сообщений? Правильно ли перетаскивать основные стили после стилей плагина? Использование функций / методов плагина в шаблонах автоматический выход из системы при выходе пользователя из системы на одной из открытых вкладок wp_update_user () не обновляет user_data Должен ли я объявлять функцию add_menu_page моей платформы как приоритет 1 в hook_Admin?

Пользовательский заказ для массива Mysql

У меня есть страница сообщений, каждое сообщение имеет пользовательское поле «expired», которое содержит дату в формате YYYY-MM-DD, которая используется для заказа сообщений. Эта дата используется для скрипта, который сообщает посетителю, если предложение илистекло или действителен в течение X дней.

Мой массив выглядит следующим образом:

$postid = get_the_ID(); $meta1 = get_post_meta($postid, 'shop', true); $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'post_type' => 'post', 'meta_query' => array( array( 'key' => 'shop', 'value' => $meta1 ) ), 'paged' => $paged, 'posts_per_page' => '4', 'meta_key' => 'expired', 'orderby' => 'meta_value', 'order' => 'ASC' ); $query = new WP_Query( $args ); 

Это упорядочивает сообщения, используя meta_value «expired», самую раннюю дату вверху.

Когда дата «meta_value» с истекшим сроком до «СЕГОДНЯ», сценарий post будет показывать «EXPIRED»

Когда дата истечения срока действия «expired» meta_value после «СЕГОДНЯ», сценарий будет показывать «Истекает через X дней»,

Как отображаются сообщения в настоящее время:

Когда сообщение «истекает», оно в настоящее время остается в верхней части списка сообщений.

 Post 1: Expired Post 2: Expired Post 3: Expires in 3 days Post 4: Expires in 4 days Post 5: Expires in 6 days 

Вместо этого я хотел бы автоматически заказать его таким образом: (обратите внимание на сообщение # для сравнения с выше)

 Post 3: Expires in 3 days Post 4: Expires in 4 days Post 5: Expires in 6 days Post 2: Expired Post 1: Expired 

Как я могу создать собственный заказ, когда после истечения срока действия сообщения (то есть «дата истечения срока действия» предшествует сегодняшней дате) он помещается в конец списка сообщений, но все еще выше старых устаревших сообщений?

Спасибо.

Solutions Collecting From Web of "Пользовательский заказ для массива Mysql"

На первый взгляд, я думаю, ваш запрос неверен. Вы повторяете переменные, чтобы убедиться, что они верны? Если вы устанавливаете

 'post_per_page' => 4 

и вы получаете 5 сообщений, тогда что-то кажется немного выключенным. Где это число, я считаю, что вы можете оставить цитаты вокруг него. Если это не исправить, я бы выделил $ meta1, чтобы убедиться в правильности запросов, тогда я бы даже попытался

 'order' => 'DESC'