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 获得汉字拼音首字母的函数
Aug 01 PHP
php 静态变量与自定义常量的使用方法
Jan 26 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
Oct 13 PHP
php读取远程gzip压缩网页的方法
Dec 29 PHP
php绘制一个矩形的方法
Jan 24 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
PHP观察者模式实例分析【对比JS观察者模式】
May 22 PHP
php中错误处理操作实例分析
Aug 23 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 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
JAVA/JSP学习系列之七
2006/10/09 PHP
phpMyAdmin 安装配置方法和问题解决
2009/06/08 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
PHP实现的贪婪算法实例
2017/10/17 PHP
PHP实现随机数字、字母的验证码功能
2018/08/01 PHP
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
Angular动态绑定样式及改变UI框架样式的方法小结
2018/09/03 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
vuex存储token示例
2019/11/11 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
2020/11/03 Javascript
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
Python选课系统开发程序
2016/09/02 Python
python中学习K-Means和图片压缩
2017/11/20 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
2018/12/26 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
物业管理工作方案
2014/05/10 职场文书
商场促销活动策划方案
2014/08/18 职场文书
2015年试用期工作总结
2014/12/12 职场文书
作文评语怎么写
2014/12/25 职场文书
故宫导游词
2015/01/31 职场文书
答谢酒会主持词
2015/07/02 职场文书