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)上时如何显示帖子的特色图片?

WordPress 数据库中存储的帖子特色图片链接在哪里?

使用 AJAX 将 Wordpress 帖子内容加载到 DIV

更新 WordPress 中的永久链接

如何跳过 Wordpress 中相邻帖子上的某些链接?