在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. IOS 保存图片至相册

    IOS 保存图片至相册   应用中有时我们会有保存图片的需求,如利用UIImagePickerController用IOS设备内置的相机拍照,或是有时我们在应用程序中利用UIKit的 UIGraphi ...

  2. Android CursorAdapter

    CursorAdapter 继承于BaseAdapter是个虚类,它为cursor和ListView提供了连接的桥梁.            public abstract class     Cur ...

  3. Android通过HTTP协议实现上传文件数据

    SocketHttpRequester.java package cn.itcast.utils; import java.io.BufferedReader; import java.io.Byte ...

  4. 理解class.forName()(转)

    使用jdbc方式连接数据库时会使用一句代码Class.forName(String className).这句话是什么意思呢?首先说一点Class.forName(String className)这 ...

  5. WEB打印插件jatoolsPrinter

    为什么选择 jatoolsPrinter 免费版? 支持无预览直接打印 真正免费,不加水印,没有ip或域名限制,不限时间,兼容ie6+ 无须注册,下载即用 提供经过微软数字签名的cab自动安装包,安装 ...

  6. vs2008如何创建DLL和使用DLL

    一 动态库的编译 文件->新建->项目 选择下一步:然后在应用程序类型里选择DLL 在test项目的头文件里加上test.h;并添加下列代码 在test.cpp里增加如下代码 然后F7编译 ...

  7. AsyncTask实现下载图片

    实现效果: /*采用异步任务  AsyncTask<String,Integer, byte[]>  * 参数一代表 执行异步任务时传递的参数的类型  * 参数二 如果不采用进度,则填Vo ...

  8. SVN版本分支合并

    SVN,开发中常用的工具,也没什么可说的.这里只是记录一下,以免太久不用了想用的时候又忘了. 首先已经有两个目录,一个是分支目录SVNChild,一个是主干目录SVNMain.SVNChild是从SV ...

  9. Unity 白猫操作小实例

    最近师兄找我说白猫的操作如何做,  0.0 结果白猫没有android的客户端玩不了,看了下视频介绍就简单做了下 效果图:   核心代码: using UnityEngine; using Syste ...

  10. 我为什么放弃Go语言

    有好几次,当我想起来的时候,总是会问自己:我为什么要放弃Go语言?这个决定是正确的吗?是明智和理性的吗?事实上我一直在认真思考这个问题. 开门见山地说,我当初放弃Go语言(golang),就是由于两个 ...