Мне нужен запрос MySQL для WordPress для получения упорядоченного спискаPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Мне нужен запрос MySQL для WordPress для получения упорядоченного списка

Сообщение Anonymous »

Мне нужно получить упорядоченный список по трем полям.

Код: Выделить всё

$sql = "
SELECT
SQL_CALC_FOUND_ROWS $wpdb->posts.ID
FROM
$wpdb->posts
INNER JOIN
$wpdb->postmeta ON ( $wpdb->posts.ID = $wpdb->postmeta.post_id )
INNER JOIN
$wpdb->postmeta AS mt1 ON ( $wpdb->posts.ID = mt1.post_id )

WHERE
1=1

AND
(
( mt1.meta_key = 'pub_series' AND mt1.meta_value = 'Book' )
OR ( mt1.meta_key = 'pub_series' AND mt1.meta_value = 'Book chapter' )
OR ( mt1.meta_key = 'pub_series' AND mt1.meta_value = 'Journal Article' )
)

/*AND
(
mt3.meta_key = 'forthcoming'
)*/

AND
$wpdb->postmeta.meta_key = 'pub_year'
AND
$wpdb->posts.post_type = 'publication'
AND
$wpdb->posts.post_status = 'publish'
GROUP BY
$wpdb->posts.ID

ORDER BY

/*FIELD(mt3.meta_key, 'forthcoming') DESC,
FIELD(mt3.meta_value, 'null') DESC,*/
//FIELD($wpdb->postmeta.meta_value,1),

$wpdb->postmeta.meta_value DESC,
$wpdb->posts.post_date DESC
";

$total = count($wpdb->get_results($sql));
$offset = ( $paged * $posts_per_page ) - $posts_per_page;

$results = $wpdb->get_results( $sql . "
LIMIT
$offset, $posts_per_page" );
Это упорядоченный список запроса по двум полям: [custom_field] pub_year (возможные значения 2018, 2017...) и [delautl wp post date field] post_date. Это нормально.

Но теперь мне нужно показывать элементы с [custom_field] предстоящим = 1. Проблема в том, что у этого поля есть три состояния:
- элементы с предстоящий = 1
— элементы с предстоящим = 0
— и элементы, для которых настраиваемое поле «Предстоящее» не существует.

Мне нужно получить упорядоченный список с первыми элементами предстоящий = 1 и другие должны быть упорядочены по pub_year и дате. Как я могу это сделать. Скажите мне, если вам нужна дополнительная информация. Спасибо большое.

Подробнее здесь: https://stackoverflow.com/questions/500 ... dered-list
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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