get_custom_header 自定义顶部
本函数是 WP 3.4 版本后才出现的一个内置函数
该函数的出现是为了更好的集成和封装顶部的使用
自定义顶部目前大部分主题主要用到的还只是两个功能
- 自定义顶部图像
- 自定义顶部样式
主要用于将用户设置的顶部的各项参数以对象(object)的形式返回。
请注意本函数与get_header()有着本质的区别。
举例:
//打开主题自定义顶部支持
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(//自定义顶部图像的设置数组
'width' => 980,
'height' => 60,
'default-image' => get_template_directory_uri() . '/images/header.jpg',
);
//添加设置
add_theme_support( 'custom-header', $args );
添加自定义顶部图像并允许上传新图像
$args = array(
'width' => 980,
'height' => 60,
'default-image' => get_template_directory_uri() . '/images/header.jpg',
'uploads' => true,//这是关键、其他的同上
);
add_theme_support( 'custom-header', $args );
自适应顶部图像设置
$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=""
/>
//判断是否存在该函数,以便兼容老版本
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;
}
本次 WP 的改进是将自定义顶部样式和自定义顶部图片进行了整合,估计一些我们平时所用到的 add_theme_support() 中的功能会有整合的打算。此次更新后部分主体也许需要更新才能正常使用自定义顶部图像等功能。在 WP 默认主题中,主题作者很巧妙的将图片的宽高跟主题文章中的图片剪裁宽高进行了统一的设置,这一点值得我们学习一下,当然你也可以查看我的另一篇文章 add_image_size和默认主题的相关代码对自己的主题进行整改,也许会有意外的效果出现哦!