the_permalink()和get_permalink()函数之间的区别


9

在WordPress中,我同时使用the_permalink()get_permalink()函数,但是在两个函数的输出中我看不到任何区别。两种功能有什么区别?

Answers:


16

the_permalink 回显当前帖子到前端的固定链接。

get_permalink但是将其作为变量返回,但不会将其回显。如果您想要其他帖子的永久链接,也可以将帖子ID传递给它。

the_permalink 等效于:

echo get_permalink();

这与实际操作非常接近。这是执行the_permalink

function the_permalink() {
    echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}

3
这意味着像the_ID()和get_ID()这样的所有函数也具有相同的区别。抱歉,但是我不
熟悉

@AliasgerSW多数民众赞成在多数民众赞成在模式,也有一些例外,但通常就是这样
Nicolai

@AliasgerSW如有疑问,请查看代码。QueryPosts是查找WordPress函数源代码的绝佳站点。
Shea 2014年

@ AliasgerSW,它是由我们自己的@Rarst制造的
Shea

@shea QueryPosts已退休。:-(\
我是最愚蠢的人,

3

如果您在此查看WordPress Codex,您会发现它get_permalink()可以在循环外部使用。the_permalink()在循环中使用。这是最简单的方法。


也许是查看它的简便方法,但不是很完整的方法
Nicolai 2014年

当然,@ Tom J Nowell♦的答案更为简洁。更好,更详尽的解释了:-)
马特·皇家

-1

the_permalink()用于帖子循环,例如the_title()。在The Loop中了解有关循环的更多信息。

get_permalink()可以在循环中或循环外使用。在循环中,该函数返回(而不回显)当前的帖子永久链接。但是在外部循环中,它需要一个帖子ID。

例如:

echo get_permalink( 1 );

这将显示当前页面的永久链接:

echo get_permalink();

1
实际上,不需要循环外的ID
Nicolai
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.