Получение сообщений Wordpress в категории, упорядоченной по настраиваемому полю - PullRequest
0 голосов
/ 02 февраля 2011

Я новичок в WordPress и пытаюсь изменить стандартный вызов SQL для постов данных настраиваемых полей для ограничения по категориям. Вот на чем я основываю свои попытки, но я просто не могу понять, как отфильтровать для категории 15.

$querystr = "SELECT wposts.*
    FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
    WHERE wposts.ID = wpostmeta.post_id
        AND wpostmeta.meta_key = 'priority'
        AND wposts.post_type = 'post'
        AND wposts.post_status = 'publish'
        AND wposts.
    ORDER BY wpostmeta.meta_value ASC";

Ответы [ 2 ]

2 голосов
/ 02 февраля 2011

Используйте query_posts прямо перед циклом, как это:

query_posts('meta_key=priority&order=ASC&orderby=meta_value&cat=15&post_type=post&post_status=publish');

meta_key=priority -> Показать сообщения, связанные с определенным (приоритетным) настраиваемым полем.

order=ASC -> selfПояснительная

orderby=meta_value -> Сортировать полученные сообщения по полю meta_value

cat=15 -> Показать сообщения, которые имеют эту категорию (и любые дочерние элементы этой категории), используя идентификатор категории 15

Дополнительно вы можете использовать cat=15,4 для отображения сообщений в категориях 15 и 4 или category_name=staff,test для отображения сообщений в категориях сотрудников и тестов.

Подробнее об использовании query_posts обычно вы можете получить практически любой тип постов, создающих запрос, используя query_posts.Используйте простой SQL, если вы не можете использовать query_posts по каким-либо причинам.

0 голосов
/ 02 февраля 2011

Прочитайте раздел Запрос на основе настраиваемого поля и категории в статье Кодекса WordPress Отображение сообщений с помощью пользовательского запроса .Попробуйте поискать его в следующий раз!

Редактировать: Как указала poelinca, рассмотрите возможность использования query_posts(), если у вас нет сложных или сложных запросов для выполнения.

...