Требуется помощь по SQL-запросу для базы данных Wordpress - PullRequest
2 голосов
/ 18 июня 2010

Я написал PHP-скрипт для доступа к последнему элементу из базы данных WordPress, что он и делает. Но мне нужно использовать его дважды, один раз для последнего предмета из определенной категории, а другой - для другой категории ...

Но сейчас я не могу понять, как соединить запрос.

У поста есть post_parent, который в другой таблице, называемой wp_term_relationships, упоминается как object_id и имеет term_taxonomy_id, который затем относится к другой таблице, называемой wp_terms, где term_taxonomy_id теперь является term_id, а затем у вас есть категория Имя пули доступно для выбора ...

Я действительно не могу понять, как этот запрос будет работать.

Я сделал по-настоящему дерьмовый макет, пытаясь "визуально" объяснить, что я пытаюсь сделать ...

SELECT *
FROM `wp_posts`
WHERE post_status = 'publish'
AND (SELECT term_taxonomy_id FROM wp_term_relationships WHERE object_id = post_parent)
AND (SELECT slug FROM wp_terms WHERE term_id = term_taxonomy_id)
ORDER BY ID DESC
LIMIT 1

Действительно был бы признателен за помощь ... Спасибо.

1 Ответ

2 голосов
/ 18 июня 2010

Используйте этот SQL, чтобы получить самую последнюю опубликованную запись в CAT_ID (идентификатор категории).

SELECT * FROM wp_posts
    INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
    INNER JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
WHERE wp_posts.post_status = 'publish'
    AND wp_term_taxonomy.taxonomy = 'category'
    AND wp_term_taxonomy.term_id = CAT_ID;
ORDER BY wp_posts.post_date DESC
LIMIT 1

Вы можете повторно использовать этот SQL, изменив значение CAT_ID, чтобы получитьсообщения из других категорий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...