在WordPress

时间:2018-06-08 13:21:18

标签: php wordpress url return-value

我正在尝试在WordPress中实现规范和hreflang标记,但我无法检索访问过的网页的当前网址。

我试过了:

 <?php echo site_url(); ?>

但它会返回https://www.example.com而不是https://www.example.com/current-page1

3 个答案:

答案 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']);