_permarink()和get_permarink()函数之间的区别

时间:2014-06-27 作者:AliasgerSW

在WordPress中,我同时使用这两种语言the_permalink()get_permalink() 函数,但这两个函数的输出没有任何区别。这两种功能之间的区别是什么?

3 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

the_permalink 将当前帖子的永久链接回显到前端。

get_permalink 但是,将其作为变量返回,但不回显它。如果您想要另一篇文章的永久链接,还可以向其传递一个帖子ID。

the_permalink 相当于:

echo get_permalink();
这与它的实际功能非常接近。这是the_permalink:

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

SO网友:Matt Royal

如果你看看WordPress Codex 在这上面你会看到get_permalink() 是否在环路外使用。the_permalink() 用于循环中。这是最简单的方法。

SO网友:Ehsaan

the_permalink() 在POST循环中使用,如the_title(). 阅读有关The Loop

get_permalink() 可以在循环中使用,也可以在循环外使用。在循环中,函数返回(而不是echo)当前的post permalink。但在循环外部,它需要一个post ID。

例如:

echo get_permalink( 1 );
这将显示当前页面永久链接:

echo get_permalink();

结束

相关推荐

Custom fields in Permalinks?

我想知道如何将自定义字段值添加到自定义帖子类型的永久链接中?例如,我有自定义的post文件ex:cpt cities。php,它处理注册自定义帖子类型和所有这些细节。在该文件中,我试图将其永久链接设置为包含一个“cities”自定义字段值。我可以使用add\\u permastruct设置永久链接。但是,我无法获取自定义字段的值,并且get\\u post\\u meta()不起作用。这可能是由于$post->ID不起作用(因为它位于自定义post类型文件中,而不是post循环)。有人知道这样一种在