Wordpress 如何将帖子链接到其数据库中的类别?
Posted
技术标签:
【中文标题】Wordpress 如何将帖子链接到其数据库中的类别?【英文标题】:How does Wordpress link posts to categories in its database? 【发布时间】:2011-02-20 08:49:43 【问题描述】:目前,我正在使用此 mysql 查询在网站博客的页脚中显示最后 5 篇文章的列表:
SELECT post_title, guid, post_date FROM wp_posts WHERE post_type = 'post' AND post_status = 'Publish' ORDER BY post_date DESC LIMIT 5
如何编辑此查询以将搜索限制为特定类别 ID?我认为这就像在帖子表中查找类别字段一样简单,但事实并非如此!
【问题讨论】:
【参考方案1】:Wordpress 数据库的关系在database diagram.
在您的特定情况下是:
wp_posts.ID
->wp_term_relationships.object_id
->wp_term_relationships.term_taxonomy_id
->wp_term_taxonomy.term_taxonomy_id
->wp_term_taxonomy.term_id
->wp_terms.term_id
对于查询,您需要使用 SQL 连接:
SELECT p.ID, t.term_id
FROM wp_posts p
LEFT JOIN wp_term_relationships rel ON rel.object_id = p.ID
LEFT JOIN wp_term_taxonomy tax ON tax.term_taxonomy_id = rel.term_taxonomy_id
LEFT JOIN wp_terms t ON t.term_id = tax.term_id
但需要注意的是,wordpress 数据库随时可能发生变化,您应该使用 Wordpress 提供的机制(例如query_posts
)从数据库中过滤帖子。
【讨论】:
感谢您的回复。我会谨慎行事,包含这些功能并改用它们。对于未来的搜索者:在外部使用 wp 函数:包括 'path-to-wp-directory/wp-blog-header.php'以上是关于Wordpress 如何将帖子链接到其数据库中的类别?的主要内容,如果未能解决你的问题,请参考以下文章
如何将“项目”永久链接更改为 Wordpress 中帖子的类别
悬停在帖子链接(WordPress)上时如何显示帖子的特色图片?