WordPress怎么获取当前页面的URL

Wordpress 投稿&转载 328浏览

在WordPress主题和插件的开发过程中,经常需要获取当前页面的URL,之前我也写了个教程,讲解如何使用PHP获取当前页面的URL,不过使用php获取访问URL受网站环境影响较大,代码过多。我就在想,能不能使用WordPress原生的函数来实现这个功能呢?不曾想还真找到了方法,你可以直接使用以下代码来获取当前页面的URL:

$current_url = home_url(add_query_arg(array()));

子目录WP的方法

不过可惜的是,如果你的WordPress安装在子目录下,且站点地址也使用子目录(如:www.example.com/wp),那么以上代码就没法正常工作了。以下是针对此缺陷的修正代码,适用范围更加普遍:

global $wp;
$current_url = home_url(add_query_arg(array(),$wp->request));

默认固定链接

如果你的WordPress使用的默认的链接,安装在子目录,站点地址也使用子目录,同时又是使用带 ? 的默认链接,如www.example.com/wp/?p=4,你可以使用以下代码来获取当前页面URL:

global $wp;
$current_url = add_query_arg( $wp->query_string, '', home_url( $wp->request ) );

使用说明

  1. 如果你的WordPress使用的不是默认的固定链接,首页是www.example.com这种形式,推荐使用第一部分的代码;
  2. 如果你的WordPress使用的不是默认的固定链接,首页是www.example.com/wp这种子目录形式,推荐使用第二部分的代码;
  3. 如果你的WordPress使用的是默认的固定链接,首页是www.example.com,文章是www.example.com/?p=4这种形式,推荐使用第一部分的代码;
  4. 如果你的WordPress使用的是默认的固定链接,首页是www.example.com/wp,文章是www.example.com/wp/?p=4这种子目录形式,推荐使用第三部分的代码;

推荐阅读

纯代码实现wordpress附件页面重定向到文章或首页

前几天发现wordpress网站有评论留言的回顾。结果一看就是附件页面的垃圾评论。这才发现原来wordpress上传的附件也会有对应的页面。难怪之前收录了很多附件页面,但是我的机器人禁止了,忘记了。本来以为会禁用,结果只找到了在线使用插件的方法。最后......

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘fake_update_callback’

这是当一个被挂钩的函数名与挂钩关联不匹配时…这可能发生在重命名一个函数时,而不是在挂钩关联中重命名函数名时。如果强迫症受不了wordpress的主题提示,可以使用插件WP降级将版本设置为当前版本。...

wordpress升降到指定版本:WP Downgrade | Specific Core Version插件

背景:网站一直用4.9+版本,因为编辑器还是老的。如果是自动升级,是目前最高的版本,但是我想升级到最新的版本,4.9.22版。WP降级|特定核心版插件可以解决我的问题。设置好程序路径后,记得保存更改,然后“升/降级核心”会等待升级。如果是降级操作,为......