提问人:Bir 提问时间:9/2/2014 更新时间:5/23/2022 访问量:6727
wordpress 中的 get_the_* 和 the_* 模板标签有什么区别?
What is the difference between get_the_* and the_* template tags in wordpress?
答:
不同之处在于,您只能在循环中使用。但是您可以在内部使用或驱逐循环。在循环之外,您应该将post_id作为参数。the_*
get_the*
例如,默认情况下,echo 是标题,并且只获取在 PHP 中使用它的标题。the_*
get_the*
通常,和函数之间有两个关键区别。get_the_*
the_*
get_the_*
方法本身不会回显任何内容。相反,它们返回您感兴趣的值,通常以字符串形式返回。例如,get_the_time()
不回显任何内容,并返回当前帖子发布时间的字符串表示形式。 方法直接输出相同的值,而不必回显;the_time()
不返回任何内容,但直接回显发布时间。the_*
the_*
方法通常被设计为在 Loop 内部使用,因此它们通常不采用参数来指定您要询问的帖子;例如,the_title()
不接受参数,因此只能作用于 Loop 中的“当前”帖子。在循环之外称呼它是没有意义的——它会因为哪个帖子获得标题?但是,get_the_title()
将帖子 ID 作为参数,因此您可以在任何地方使用它来获取任何帖子的标题,只要您有帖子的 ID。 (许多方法采用可选的帖子 ID 参数,如果它们在循环中使用,则默认返回当前帖子的值, 为方便起见。post_id
get_the_
因为WordPress已经开发了这么多年,而且东西也逐渐被添加进来,所以这些都不是保证的规则,你会在这里和那里找到例外。您应该将此作为一般建议,并根据需要检查每个特定实例的文档。
评论
the_*()
echo get_the_*()
还有更多的东西。我刚刚尝试了 the_content() 和 echo get_the_content(),这应该是同样的事情,但是..如果您添加过滤器('the_content'),它将不适用于 echo get_the_content(),但它适用于 the_content() 方法。
评论