我正在运行一个自定义的WP\\u查询,并发现以下SQL作为其中的一部分运行。
SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN (\'category\', \'post_tag\') AND tr.object_id IN (381, 383, 389, 395) ORDER BY t.name ASC
现在在我使用的循环中
wp_get_object_terms( $post->ID, \'post_tag\' );
检索post标记。这将导致对每个帖子进行额外的SQL查询,以检索帖子标记。当WP\\u查询初始运行时获取post标记时,我认为这是不必要的。
WordPress足够聪明,不会对post meta执行此操作,因为get_post_meta
循环内不会产生额外的SQL查询。
如何从原始WP\\U查询中检索post标记和可能的类别,并避免额外的SQL查询。?