GET_PERMALINK(0)和Get_the_TITLE(0)的返回值

时间:2019-08-23 作者:Rugo

我是wordpress的新手,现在正在学习一个教程,但我不了解wordpress的行为。我正在尝试更改侧边栏的标题,其中列出了父页和子页,这很好,但我不明白为什么$parentID = wp_get_post_parent_id(get_the_ID()); echo get_permalink($parentID); 即使在父页面上也可以工作,我在父页面上回显了结果,它返回0,因为父页面没有父页面,那么为什么这仍然可以工作呢?为什么get_permalink(0) 如果我按下父页上的按钮,是否可以转到父页?它也给了我一个标题get_the_title(0)

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

如果将ID传递给get_the_title()get_permalink(), 他们将使用get_post() 从内部获取具有该ID的完整post对象的副本。但是如果get_post() 通过nothing或a"falsy" 值,如0, 然后它将返回当前全局$post 对象在代码上下文中,这很可能是当前页面。

因此:

get_permalink( 0 );
相当于:

get_permalink( get_the_ID() );
相当于:

get_permalink();
因为它们都是指电流global $post.

相关推荐

Problem with permalinks

我已经更改了类别的基本名称,现在它是“博客”,工作正常。但当我通过/blog/%category%/%postname%/更改结构时。显示404。如果我删除结构中的blog,它会再次工作,但我想使用blog word。问题出在哪里?非常感谢。