WordPress主题制作中自定义头部的相关PHP函数解析


Posted in PHP onJanuary 08, 2016

header_image()
header_image() 函数是 WordPress 自定顶部图像的标准接口函数,该函数可以自动判断后台设置,并返回字符串形式的用户自定义顶部图像地址。本文主要涉及该函数的详解及使用。

【Display header image path.】 即,显示顶部图像地址。
使用

<img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
函数声明源代码
function header_textcolor() {
 echo get_header_textcolor();
}
function get_header_image() {
 $url = get_theme_mod( 'header_image', get_theme_support( 'custom-header', 'default-image' ) );
 
 if ( 'remove-header' == $url )
 return false;
 
 if ( is_random_header_image() )
 $url = get_random_header_image();
 
 if ( is_ssl() )
 $url = str_replace( 'http://', 'https://', $url );
 else
 $url = str_replace( 'https://', 'http://', $url );
 
 return esc_url_raw( $url );
}

get_custom_header 自定义顶部
get_custom_header 函数是 WordPress 3.4 送给我们的新礼物,该函数的出现是为了更好的集成和封装顶部的使用,本文主要对 get_custom_header 这个函数进行详解、以及如何在 WordPress 3.4 版本的主题中集成顶部功能。

请注意,根据本文折腾你的主题时,请确保你的 WordPress 已经升级到 3.4版本。

get_custom_header 意义详解
自定义顶部目前大部分主题主要用到的还只是两个功能 1.自定义顶部图像 2.自定义顶部样式
具体的效果你可以看一下 默认主题 twenty eleven ,或者我的另一个博客 悠悠我心
本函数是 WP 3.4 版本后才出现的一个内置函数,主要用于将用户设置的顶部的各项参数以对象(object)的形式返回。
单单说这么句屁话,也许你还不明白,想要明白的话,请往下看。
请注意本函数与get_header()有着本质的区别。

函数使用实例
下面的例子来自于 默认主题 twenty eleven 中 header.php 文件
PHP 代码:

//判断是否存在该函数,以便兼容老版本
if ( function_exists( 'get_custom_header' ) ) {
//get_custom_header()->width 调用带向 width 属性
$header_image_width = get_custom_header()->width;
//get_custom_header()->height 调用带向 height 属性
$header_image_height = get_custom_header()->height;
} else {//兼容老版本的代码
$header_image_width = HEADER_IMAGE_WIDTH;
$header_image_height = HEADER_IMAGE_HEIGHT;
}

综合使用详解
以下主要援引官方文档解释 自定义顶部

//打开主题自定义顶部支持
add_theme_support( 'custom-header' );
 
$headarg = array(//将设置打包成数组
 'default-image'     => '',
 'random-default'     => false,
 'width'         => 0,
 'height'         => 0,
 'flex-height'      => false,
 'flex-width'       => false,
 'default-text-color'   => '',
 'header-text'      => true,
 'uploads'        => true,
 'wp-head-callback'    => '',
 'admin-head-callback'  => '',
 'admin-preview-callback' => '',
);
//将数组中的设置添加到自定义顶部上
add_theme_support( 'custom-header', $headarg );

自定义顶部图像

//打开主题自定义顶部支持
add_theme_support( 'custom-header' );
 
$headarg = array(//将设置打包成数组
 'default-image'     => '',
 'random-default'     => false,
 'width'         => 0,
 'height'         => 0,
 'flex-height'      => false,
 'flex-width'       => false,
 'default-text-color'   => '',
 'header-text'      => true,
 'uploads'        => true,
 'wp-head-callback'    => '',
 'admin-head-callback'  => '',
 'admin-preview-callback' => '',
);
//将数组中的设置添加到自定义顶部上
add_theme_support( 'custom-header', $headarg );

自适应顶部图像设置

$args = array(
 'flex-width'  => true,//自适应高度
 'width'     => 980,
 'flex-width'  => true,//自适应宽度
 'height'    => 200,
 'default-image' => get_template_directory_uri() . '/images/header.jpg',
);
add_theme_support( 'custom-header', $args );

自定义顶部图像的调用

<img 
  src="<?php header_image(); ?>" 
  height="<?php echo get_custom_header()->height; ?>" 
  width="<?php echo get_custom_header()->width; ?>" 
  alt="" 
/>
PHP 相关文章推荐
PHP二维数组的去重问题解析
Jul 17 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
PHP闭包(Closure)使用详解
May 02 PHP
php mysql_real_escape_string函数用法与实例教程
Sep 30 PHP
php选择排序法实现数组排序实例分析
Feb 16 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 PHP
深入理解PHP内核(二)之SAPI探究
Nov 10 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
Dec 19 PHP
php接口实现拖拽排序功能
Apr 23 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
Oct 21 PHP
微信开发之网页授权获取用户信息(二)
Jan 08 #PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 #PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
Jan 08 #PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
Jan 08 #PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
Jan 08 #PHP
理解PHP中的Session及对Session有效期的控制
Jan 08 #PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 #PHP
You might like
php disk_free_space 返回目录可用空间
2010/05/10 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
PHP对字符串的递增运算分析
2010/08/08 PHP
php中explode与split的区别介绍
2012/10/03 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
js和jquery对dom节点的操作(创建/追加)
2013/04/21 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
Javascript基础教程之数组 array
2015/01/18 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
node.js爬取中关村的在线电瓶车信息
2018/11/13 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
Python反射的用法实例分析
2018/02/11 Python
使用python实现名片管理系统
2020/06/18 Python
python中封包建立过程实例
2021/02/18 Python
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
贝玲妃美国官方网站:Benefit美国
2016/08/28 全球购物
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
static函数与普通函数有什么区别
2015/12/25 面试题
2014年乡镇植树节活动方案
2014/02/28 职场文书
销售人员工作自我评价
2014/09/21 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
校运会通讯稿
2015/07/18 职场文书
Python3接口性能测试实例代码
2021/06/20 Python
docker-compose部署Yapi的方法
2022/04/08 Servers