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

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

要获得首页地址有很多方法:site_url()、home_url()、bloginfo(‘url’)、get_bloginfo(‘url’)、get_site_url()、get_home_url()。它们之间有什么区别呢?
首先来认识下site_url()和home_url()这两个函数.

site_url() 和 home_url() 很相似,容易混淆。site_url() 返回的是数据库中 wp_options 表里面的 siteurl 字段值。这是指向 WordPress 核心文件的 URL,也就是你的wordpress安装路径。如果你的 WordPress 核心文件在你的服务器的子目录中,比如 /wordpress,那么 site_url() 的值就会是 http://www.hujuntao.com/wordpress 。在控制面板==>> 设置 ==>> WordPress 地址(URL)修改。(在非不得已的情况下不要修改,一般在安装成功后这个值是自动生成。修改错误的地址会导致页面打不开,后台管理也进不去,出现这种情况只能通过修改数据库来修复。)

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

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

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

弄清楚这两个函数了,再来看看bloginfo()。
bloginfo用于获得博客的相关信息,包括主页,安装路径地址。
下面是bloginfo()的可用参数:

  1. name = Testpilot
  2. description = Just another WordPress blog
  3. admin_email = admin@example
  4. url = http://example/home
  5. wpurl = http://example/home/wp
  6. stylesheet_directory = http://example/home/wp/wp-content/themes/child-theme
  7. stylesheet_url = http://example/home/wp/wp-content/themes/child-theme/style.css
  8. template_directory = http://example/home/wp/wp-content/themes/parent-theme
  9. template_url = http://example/home/wp/wp-content/themes/parent-theme
  10. atom_url = http://example/home/feed/atom
  11. rss2_url = http://example/home/feed
  12. rss_url = http://example/home/feed/rss
  13. pingback_url = http://example/home/wp/xmlrpc.php
  14. rdf_url = http://example/home/feed/rdf
  15. comments_atom_url = http://example/home/comments/feed/atom
  16. comments_rss2_url = http://example/home/comments/feed
  17. charset = UTF-8
  18. html_type = text/html
  19. language = en-US
  20. text_direction = ltr
  21. 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()
如果你想直接输出值 ==>

wordpress教程之函数site_url()、home_url()、bloginfo(‘url’)的区别的更多相关文章

  1. wordpress教程之函数讲解

    wordpress函数收集 is_home() : 是否为主页is_single() : 是否为内容页(Post),   是否是单篇文章  is_page() : 是否为内容页(Page),   是否 ...

  2. WordPress模板常用函数

    基本条件判断Tag is_home() : 是否为主页 is_single() : 是否为内容页(Post) is_page() : 是否为内容页(Page) is_category() : 是否为C ...

  3. WordPress主题制作函数

    WordPress基本模板文件 一套完整的WordPress模板应至少具有如下文件: style.css: CSS(样式表)文件 index.php: 主页模板 archive.php: Archiv ...

  4. WordPress 模板常用函数

    WordPress 基本模板文件 一套完整的 WordPress 模板应至少具有如下文件: style.css : CSS(样式表)文件 index.php : 主页模板 archive.php : ...

  5. (转)WordPress常用模板函数 修改或自制WordPress主题必备

    对于很多WordPress新手来说,不懂任何代码的情况下去瞎改WordPress主题,得出的效果往往会出现语法错误之类的东西或效果不尽人意.想要修改 WordPress主题模板文件最基本的当然要懂得H ...

  6. WordPress教程之如何入门WordPress

    这篇文章将介绍如何设置 WordPress,并自定义其基本功能.WordPress 的安装包相对较小(低于 10 MB),非常易于安装和管理.为了托管自己的网站,你可以获得几个不同的选项. 你可以通过 ...

  7. WordPress教程之如何创建博客内容

    上两篇教程的链接: Wordpress教程之初识WordPress Wordpress教程之如何入门WordPress Hostwinds共享主机vps限时五折优惠链接 现在,你的 WordPress ...

  8. WordPress教程之页面、菜单、媒体库、高级定制

    本系列教程链接: 怎么快速搭建一个WordPress网站 Wordpress教程之初识WordPress Wordpress教程之如何入门WordPress Wordpress教程之如何创建博客内容 ...

  9. WordPress的body_class()函数详解

    wordpress的body_class()函数,顾名思义,这个函数根据不同的页面类型为body标签生成class选择器,从而让设计人员可以各方便灵活的控制不同页面中的各个元素.本文对这一函数进行了详 ...

随机推荐

  1. apache服务器参数设置

    全局参数设置 ServerRoot:服务器根目录 apache安装目录[我的为:/usr/local/apache/] 用于指定apache服务器的配置文件及日志文件存放的根目录.服务器的基础目录,a ...

  2. Using ROWNUM in Oracle

    ROWNUM is an Oracle pseudo column which numbers the rows in a result set. SELECT rownum, table_nameF ...

  3. keil C 应注意的几个问题

    我们使用Keil C调试某系统时积累的一些经验 1.在Windows2000下面,我们可以把字体设置为Courier,这样就可以显示正常.2.当使用有片外内存的MCU(如W77E58,它有1K片外内存 ...

  4. LCD的背光及觸摸屏

    液晶的发现可追溯到19 世纪末,1888 年被奥地利植物学家发现.它是一种在一定温度范围内呈现既不同于固态.液态,又不同于气态的特殊物质态.既具有晶体所具有的各向异性造成的双折射性,又具有液体所特有的 ...

  5. git:fatal the current branch master has no upstream branch

    git push的时候发生上述错误. git push -u "resp" master resp为git仓库的“地址” reference中由解决方案 http://blog.c ...

  6. 【转】使用adb命令对手机进行截屏(截图)保存到电脑,SDCard

    原文网址:http://blog.csdn.net/huangyabin001/article/details/29198367 adb shell /system/bin/screencap -p  ...

  7. poj2739

                                                                                           Sum of Consec ...

  8. Qt creator自定义编译运行步骤

    一直用Qt creator开发.无它,只是因为linux下C++ IDE选择不多.同时因为我抛弃了MFC,平时写个小工具还得靠Qt,正好一举两用. 用Qt creator开发一般的工程,是不用修改编译 ...

  9. 微信网页授权获取code链接

    本公众号授权 "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&r ...

  10. 阻止IOS自动识别页面上的电话号码、email地址

    之前写页面的时候碰到一个很恶心的情况,在6P上数字自动变色,后来找了一些资料: 在iOS的浏览器上,他们有时候会有一些“自作聪明”,自动把页面上的一串数字识别成电话号码,这样用户不小心点击这串数字,就 ...