查询数据库和使用循环的区别

时间:2011-09-30 作者:jerry

我知道这是一个非常普遍的问题,但我一直在阅读关于wp查询和循环的TUT,似乎你可以选择任何一种方式。我误解了吗?我想我读到的是,您可以或多或少地绕过循环,只需查询db。如果是这样的话,有什么更好?

2 个回复
SO网友:Chip Bennett

没有绝对更好/更差/最好/最差的实现。正确的实施取决于您试图实现的目标。

为了给你一个很好的解释,我指示你this post by Digging Into WordPress, 这解释了与WordPress循环交互的4种基本方式:

  • Default Loop

    那么,是什么让它成为“默认”?主要是因为它使用默认查询循环浏览帖子内容,使其成为大多数主题99%的循环使用方式。它告诉WordPress循环浏览帖子并根据上下文显示信息

    循环query_posts()

    query\\u posts功能允许我们修改[默认]查询并显示所需结果。我们可以覆盖整个查询,也可以保留它,只需更改几个参数。

    循环WP_Query()

    使用WP\\u Query创建多个自定义循环。通过在主题中设置其他WP\\U查询实例,可以创建任意数量的多个循环,并自定义每个循环的输出。

    循环get_posts()

    使用get\\u posts()函数可以轻松地在主题中的任何位置创建其他静态循环。get\\u posts接受与query\\u posts相同的参数,非常适合将静态、自定义循环添加到提要栏、页脚或其他任何位置。

    读读那篇文章;它将帮助您了解何时/如何使用每个选项。

    EDIT

    p、 深入WordPress了解更多信息:如果您使用其中一种方法来修改查询,您将需要熟悉when/how to reset the query.

SO网友:anmari

要记住的另一个想法是:

如果有可能,您可能希望允许其他人与您的代码集成,例如;要在不修改源代码的情况下创建mod,请选择一种已经存在wp过滤器的方法,以便其他人可以向您的代码中添加过滤器(例如,仅选择某些类别,或应用元查询选择等)

例如,使用自己的select调用直接查询数据库不会提供这些可能性。

有时很难想象人们想要做什么,但允许集成可以使你的插件/主题非常强大。

结束

相关推荐

Using the loop inside admin

我有以下问题:我正在为用户创建一个自定义元框,以便以友好的方式添加自定义字段我想生成一个下拉框,其中包含类别10下的所有帖子我在函数文件中创建了一个循环,用于检索我想要的帖子,并创建一个下拉选择列表。因此,当我转到“管理”->“帖子”并选择要编辑的帖子时,我会遇到以下问题:无论我选择哪个帖子,都会加载最后一篇帖子。以下是函数文件中使用的代码,然后在为自定义元框生成html代码时调用:function get_project_ids($proj_cat = 10) { $output