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

时间:2021-05-02

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

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

  • <imgsrc="<?phpheader_image();?>"width="<?phpecho$header_image_width;?>"height="<?phpecho$header_image_height;?>"alt=""/>

  • 函数声明源代码

  • functionheader_textcolor(){

  • echoget_header_textcolor();

  • }

  • functionget_header_image(){

  • $url=get_theme_mod('header_image',get_theme_support('custom-header','default-image'));

  • if('remove-header'==$url)

  • returnfalse;

  • 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);

  • returnesc_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="<?phpheader_image();?>"

  • height="<?phpechoget_custom_header()->height;?>"

  • width="<?phpechoget_custom_header()->width;?>"

  • alt=""

  • />

  • 声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章