从主wp_Query检索帖子标签

时间:2013-07-17 作者:John

我正在运行一个自定义的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查询。?

1 个回复
最合适的回答,由SO网友:John 整理而成

通过使用解决了此问题get_the_tags($post->id); 而不是wp_get_object_terms( $post->ID, \'post_tag\' );.

get_the_tags($post->id); 钩住循环中的WP\\u查询并检索标记,而不需要额外的SQL查询。

结束

相关推荐

OG:Audio facebook meta tags

有人知道如何将附加的音频文件URL填充到元元素中吗?正如你会选择图片或其他东西一样,我尝试了以下内容:<meta property=\"og:audio\" content=\"<?php $meta_values = get_post_custom($post->ID); if(isset($meta_values[\'meta_audio_attachment\'][0])){ $url =$meta_values[\'meta_audio_attachment\'][0];