wordpress中get_the_*和the_*模板标签有什么区别?

Bir*_*Bir 3 wordpress wordpress-theming

我很困惑 get_the_*the_* 模板标签.我已经多次使用了我的主题,但我不清楚何时使用get_the_*和何时使用the_*.请你清楚地解释这两个概念.

Mat*_*son 6

通常,get_the_*the_*函数之间存在两个关键差异.

  1. get_the_*方法本身不回应任何东西.相反,它们返回您感兴趣的值,通常作为字符串.例如,回显get_the_time()无效,并返回当前帖子的发布时间的字符串表示.the_*方法直接输出相同的值,而不必回应它; the_time()什么都不返回,但直接回应了发布时间.

  2. the_*方法通常设计为在循环内部使用,因此它们通常不会使用参数来指定您询问的帖子; 例如,the_title()不接受post_id参数,因此只能作用于循环内的"当前"帖子.在循环之外调用它没有意义 - 哪个帖子会获得标题?但是,get_the_title()将帖子ID作为参数,因此您可以从任何地方使用它来获取任何帖子的标题,只要您有帖子的ID即可.(许多get_the_方法采用可选的post id参数,并且为了方便起见,如果它们在循环中使用,则默认返回当前帖子的值.)

因为WordPress已经开发了很多年,而且逐渐添加了一些东西,这些都不是保证规则,你会发现这里和那里有例外.您应将此作为一般建议,并根据需要检查每个特定实例的文档.

  • 此外,在大多数情况下,`the_*()` 函数只不过是 `echo get_the_*()` 包装器。 (2认同)