get_permalink()
只对单个页面和帖子真正有用,并且只在循环中有效。
我看到的最简单的方式是:
global $wp;
echo home_url( $wp->request )
$wp->request
包括URL的路径部分,例如。
/path/to/page
和
home_url()
在“设置”>“常规”中输出URL,但您可以向其附加路径,因此我们在代码中将请求路径附加到主URL。
请注意,这可能不适用于设置为Plain的Permalinks,并将保留查询字符串(?foo=bar
URL的一部分)。
要在永久链接设置为普通时获取URL,可以使用$wp->query_vars
相反,通过将其传递给add_query_arg()
:
global $wp;
echo add_query_arg( $wp->query_vars, home_url() );
您可以结合使用这两种方法来获取当前URL,包括查询字符串,而不考虑永久链接设置:
global $wp;
echo add_query_arg( $wp->query_vars, home_url( $wp->request ) );