我们在Wordpress上有一个多站点设置。
在主博客(ID为1)上,我们有一个自定义帖子类型,称为“位置”。这些位置的分类为“类别”
您可能知道,您无法查询不同博客ID的分类关系。即使使用WP提供的switch_to_blog(1)
功能。
这迫使我在下面使用自定义sql查询:
private function get_taxonomy_query($post_id) {
global $wpdb;
$query = "SELECT t.*, tt.* FROM {$wpdb->prefix}terms AS t
INNER JOIN {$wpdb->prefix}term_taxonomy AS tt ON (tt.term_id = t.term_id)
INNER JOIN {$wpdb->prefix}term_relationships AS tr ON (tr.term_taxonomy_id = tt.term_taxonomy_id)
WHERE tt.taxonomy IN ('categories') AND tr.object_id IN ($post_id)
ORDER BY t.name ASC;";
return $results = $wpdb->get_results($query);
}
这确实起作用,但是,至少需要5秒钟来处理此查询。我宁愿不要将类似的内容推送到实时网站。
有人可以为我提供更好的解决方案,以获得post_id的分类法吗?
我不是要查询所有分类法,而是要查询特定post_id具有的分类法