我对get_the_ *和the_ *模板标记感到困惑。我已经对主题使用了很多次, 但是我不清楚何时使用get_the_ *和何时使用the_ *。你能否清楚地解释这两个概念。
#1
通常, get_the_ *和the_ *函数之间有两个主要区别。
- get_the_ *方法本身不会回显任何内容。相反, 它们通常以字符串形式返回你感兴趣的值。例如, get_the_time()不回显任何内容, 并返回当前帖子的发布时间的字符串表示形式。 the_ *方法直接输出相同的值, 而无需回显它; the_time()不返回任何内容, 而是直接回显发布时间。
- the_ *方法通常被设计为在Loop内部使用, 因此它们通常不带参数来指定你要询问的帖子。例如, the_title()不带post_id参数, 因此只能对Loop内部的”当前”帖子起作用。在循环外调用它没有意义-它会在哪个帖子中获得标题?但是, get_the_title()将帖子ID作为参数, 因此, 只要你具有该帖子的ID, 就可以在任何地方使用它来获取任何帖子的标题。 (为了方便起见, 许多get_the_方法都带有一个可选的post id参数, 如果从Loop中使用它们, 则默认返回当前帖子的值。)
由于WordPress已经开发了很多年了, 并且已经逐渐添加了东西, 所以这些不是保证的规则, 你会在这里和那里找到例外。你应该将此作为一般建议, 并根据需要检查每个特定实例的文档。
#2
不同之处在于, 你只能在循环内使用the_ *。但是get_the *你可以在循环内部使用或取消循环。在循环之外, 你应该提供post_id作为参数。
默认情况下, 例如the_ * echo是标题, 而get_the *仅获取在PHP中使用它的标题。
评论前必须登录!
注册