Использование функции WP_Query WordPress Я могу создать запрос, который переводится в следующий SQL;Multi column ORDER BY для значений wp_postmeta
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID
FROM wp_posts
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)
INNER JOIN wp_postmeta AS mt2 ON (wp_posts.ID = mt2.post_id)
INNER JOIN wp_postmeta AS mt3 ON (wp_posts.ID = mt3.post_id)
WHERE 1=1 AND wp_posts.post_type = 'event'
AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private')
AND (wp_postmeta.meta_key = 'core_event_year'
AND (mt1.meta_key = 'core_event_year'
AND mt2.meta_key = 'core_event_month'
AND mt3.meta_key = 'core_event_day'))
GROUP BY wp_posts.ID
ORDER BY wp_postmeta.meta_value DESC LIMIT 0, 10
Однако, мне нужно, чтобы иметь возможность добавить порядка сортировки в 3-х элементов, извлекаемых для таблицы wp_postmeta. Поскольку можно игнорировать функцию WP_Query и напрямую использовать инструкцию SQL, я понимаю, что это метод, который мне нужно будет принять.
Итак, мой вопрос в основном о том, как приведенный выше оператор SQL может быть адаптирован, чтобы дать мне возможность применить порядок сортировки для каждого из 3 столбцов, запрошенных из wp_postmeta. В настоящее время запрос просто применяет обложку DESC
orderby к всем полям.
Заранее спасибо.
You может создать дату из трех столбцов, используя ['STR_TO_DATE()'] (http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to- дата) и порядок. –
Эй, Маркус, я не встречал этот метод раньше, но это звучит интересно. Есть ли шанс, что вы могли бы привести мне пример? Благодарю. –