3

场景:我在侧边栏中创建可折叠面板,并将所有类别显示为 DIV,并在这些类别 DIV 中显示所有帖子链接。很简单。我得到了所有类别get_categories('orderby=name&order=ASC'),现在遍历每个类别以获取每个类别中的所有帖子。

问题:代码get_posts('nopaging=1&category='.$category->cat_ID)给了我所有的帖子,除了 WITHcontent和其他东西。所有,我想要的是帖子的永久链接。就是这样。我相信使用get_posts会因此产生很大的开销,因为在 20 多个类别中有大约 1000 个帖子。

解决方案:一个函数或一段代码可以让我获得一个类别中的所有帖子,其中包含永久链接而没有其他内容,尤其是内容,因为它是最大的开销。

4

2 回答 2

4

研究使用自定义查询来准确提取您想要的内容: http: //codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query

在完成自定义调用后,您可能还想使用 wp_reset_query(),因为当事情开始相互覆盖时,在 wordpress 中选择查询可能是一个有趣的问题:http: //codex.wordpress.org/Function_Reference/wp_reset_query

在您发表评论后进行编辑:您需要使用 wp_term_relationships 和 wp_posts 之间的连接,甚至可能使用 wp_term_taxonomy 的 3 路连接来进行良好的衡量。

老实说,我什至不会打扰 - 这是很多工作,却没有很多好处。1000 条记录实际上并没有那么多,而且 Wordpress 已经使用 wp_posts 上的索引来优化其查询。通过使用 wp 超级缓存插件为访问者 ( http://wordpress.org/extend/plugins/wp-super-cache/ )生成静态 HTML 文件,您可能会获得比使用复制核心 WP 查询更好的结果从选择中删除了少数列。

于 2010-11-12T15:17:07.803 回答
0

您已经尝试使用:

the_permalink()  

http://codex.wordpress.org/Function_Reference/the_permalink

get_permalink( $id )    

http://codex.wordpress.org/Function_Reference/get_permalink

于 2010-11-12T15:26:05.953 回答