我正在尝试在WordPress中实现规范和hreflang标记,但我无法检索访问过的网页的当前网址。
我试过了:
<?php echo site_url(); ?>
但它会返回https://www.example.com
而不是https://www.example.com/current-page1
答案 0 :(得分:3)
site_url()
函数返回实际的网站根URL。根据您调用网址的位置,您可以尝试get_the_permalink()
,但更可靠的方法是使用$wp->request
方法。像这样:
global $wp;
echo home_url( $wp->request )
此功能的主要问题是遗漏了网址参数,因此,如果您的链接类似于:http://example.com/test/?myparam=1
,则只返回http://example.com/test/
答案 1 :(得分:1)
如果永久链接设置为普通:
$actual_link = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
答案 2 :(得分:1)
万一其他人需要这个。下面的代码应获取包含参数的确切网址。
home_url($_SERVER['REQUEST_URI']);
您可以根据使用情况回显或返回它。 例如
echo home_url($_SERVER['REQUEST_URI']);
要么
return home_url($_SERVER['REQUEST_URI']);