WordPress 中获取各种 URL 路径函数介绍

发布于 2018-07-19 21:53:42 字数 3629 浏览 2335 评论 0

在 WordPress 插件和主题开发中经常需要获取各种 URL 路径,WordPress 提供了以下集中方法获得 URL 路径:

  • plugins_url() — 插件目录的 URL (例如:https://www.wenjiangs.com/wp-content/plugins)
  • includes_url() — includes 目录的 URL (例如:https://www.wenjiangs.com/wp-includes)
  • content_url() — content 目录的 URL (例如:https://www.wenjiangs.com/wp-content)
  • admin_url() — admin 目录的 URL (例如:https://www.wenjiangs.com/wp-admin/)
  • site_url() — 当前网站的 URL (例如:https://www.wenjiangs.com)
  • home_url() — 当前网站首页的 URL (例如:https://www.wenjiangs.com)

首先来认识下 site_url() 和 home_url() 这两个函数,site_url() 和 home_url() 很相似,让我们很容易混淆。

site_url()

site_url() 返回的是数据库中 wp_options 表里面的 siteurl 字段值。这是指向 WordPress 核心文件的 URL,也就是你的 WordPress 安装路径。

如果你的 WordPress 核心文件在你的服务器的子目录中,比如 /wordpress,那么 site_url() 的值就会是 https://www.wenjiangs.com/wordpress 。在控制面板 ==>> 设置 ==>> WordPress 地址(URL)修改。

在非不得已的情况下不要修改,一般在安装成功后这个值是自动生成。修改错误的地址会导致页面打不开,后台管理也进不去,出现这种情 况只能通过修改数据库来修复。

home_url()

home_url() 则从 wp_option 表中取得 home 字段的值。这个地址是你希望访问你的 WordPress 网站的 URL 地址。例如你的 WordPres 核心文件放在 /wordpress 目录下,但是你希望你的 URL是 https://www.wenjiangs.com,那么就要把 home 的值设置成 https://www.wenjiangs.com。在控制面板==>> 设置 ==>> 站点地址(URL)。

如果你的博客安装在跟目录这个两个函数获得的值就是一样的,在插件和主题开发中为了使用中得到兼容,所以在选择的时候需要慎重。

总的来讲

  • home_url() 就是首页地址,主要用在需要返回首页的时候。比如 logo 的链接,面包屑导航的首页链接等等。
  • site_url() 是 WordPress 安装路径,主要用在获得本地文件路径。

bloginfo()

bloginfo() 用于获得博客的相关信息,包括主页、安装路径地址、博客名称等。

下面是 bloginfo() 的可用参数:

  • name = Testpilot
  • description = WordPress blog
  • admin_email = admin@example
  • url = http://example/home
  • wpurl = http://example/home/wp
  • stylesheet_directory = http://example/home/wp/wp-content/themes/child-theme
  • stylesheet_url = http://example/home/wp/wp-content/themes/child-theme/style.css
  • template_directory = http://example/home/wp/wp-content/themes/parent-theme
  • template_url = http://example/home/wp/wp-content/themes/parent-theme
  • atom_url = http://example/home/feed/atom
  • rss2_url = http://example/home/feed
  • rss_url = http://example/home/feed/rss
  • pingback_url = http://example/home/wp/xmlrpc.php
  • rdf_url = http://example/home/feed/rdf
  • comments_atom_url = http://example/home/comments/feed/atom
  • comments_rss2_url = http://example/home/comments/feed
  • charset = UTF-8
  • html_type = text/html
  • language = en-US
  • text_direction = ltr
  • version = 3.1

其中

  • bloginfo('url') = 首页地址
  • bloginfo('wpurl') = WordPress 安装路径

弄懂这个函数剩下的就简单了。

WordPress 的 bloginfo() 和 get_bloginfo() 功能差不多,都是显示用户博客的相关信息,这些信息通常来自用户在 WordPress 网站后台 [设置] -> [常规]菜单中填写的内容。 区别就是 bloginfo() 把结果直接输出,可以用在页面模板的任何区域内,而 get_bloginfo() 则是返回一个数据!

  • 当你需要返回值的时候则用 get_site_url()、get_bloginfo('url')、get_home_url()
  • 如果你想直接输出值则用 site_url()、bloginfo('url')、home_url()

最后总结

  • 获得首页地址 ==> home_url()、bloginfo('url')、get_bloginfo('url')、get_home_url(),home_url() 是在 3.0 加入的函数,为了兼容老版本推荐使用 bloginfo()。
  • 获得安装路径 ==> site_url()、bloginfo('wpurl')、get_bloginfo('wpurl')、get_site_url()
  • 如果你需要返回值 ==> get_bloginfo('url')、get_home_url()/get_bloginfo('wpurl')、get_site_url()
  • 如果你想直接输出值 ==>bloginfo('url')、home_url()/bloginfo('wpurl')、site_url()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

遂心如意

文章 0 评论 0

5513090242

文章 0 评论 0

巷雨优美回忆

文章 0 评论 0

junpengz2000

文章 0 评论 0

13郎

文章 0 评论 0

qq_xU4RDg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文