【发布时间】:2012-07-25 08:33:01
【问题描述】:
我有一个帖子,它有多个类别,我如何通过 sql 查询获取该帖子的所有类别?非常感谢。
【问题讨论】:
我有一个帖子,它有多个类别,我如何通过 sql 查询获取该帖子的所有类别?非常感谢。
【问题讨论】:
您可以使用此 SQL 获取帖子类别:
SELECT wt.* FROM wp_posts p
INNER JOIN wp_term_relationships r ON r.object_id=p.ID
INNER JOIN wp_term_taxonomy t ON t.term_taxonomy_id = r.term_taxonomy_id
INNER JOIN wp_terms wt on wt.term_id = t.term_id
WHERE p.ID=1 AND t.taxonomy="category"
【讨论】:
wt.*,在当前上下文中是第三个INNER JOIN中定义的wp_terms表。
检查此代码 -
$post_categories = wp_get_post_categories( $post_id );
$cats = array();
foreach($post_categories as $c){
$cat = get_category( $c );
$cats[] = array( 'name' => $cat->name, 'slug' => $cat->slug );
}
参考:http://codex.wordpress.org/Function_Reference/wp_get_post_categories--
【讨论】:
试试
select c.*
from wp_categories c
inner join wp_post2cat pc on pc.category_id = c.cat_ID
inner join wp_posts p on pc.post_id = p.id
where p.id = 1
【讨论】:
wp_ 中断。哦,还有多站点安装。
wp_post2cat 表在 wordpress 2.3 版(早在 2007 年)中被删除,替换为“术语”相关表。