我编写了一个PHP脚本来访问wordpress数据库中的最新项目。 但是我需要使用它两次,一次用于特定类别的最新项目,另一次用于不同类别...
但是现在我无法弄清楚如何将查询放在一起。
帖子有一个post_parent,在另一个名为wp_term_relationships的表中,被称为object_id,并且有一个term_taxonomy_id,然后与另一个表相关,称为wp_terms,其中term_taxonomy_id现在是term_id,然后你就有了这个类别slug名称可供选择......
我真的无法理解这个查询是如何工作的。
我做了一个非常废话的模拟,尝试“直观地”解释我正在尝试做什么......
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
真的很感激一些帮助...... 感谢。
答案 0 :(得分:2)
使用此SQL获取CAT_ID
中最新发布的帖子(该类别的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
的值以获取其他类别的帖子。