最新公告
  • 欢迎您光临大资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • WordPress 根据时间自动切换主题配图和颜色

    WordPress 根据时间自动切换主题配图和颜色 最后编辑:2021-04-26
    增值服务: 自动发货 使用说明 安装指导 环境配置二次开发BUG修复

    WordPress 根据时间自动切换主题配图和颜色

    不少主题自带自定义顶部图片功能,简而言之便是增加了函数 register_default_headers()、custom_header_support() 以及在 header.php 中调用了 header_image()。

    register_default_headers(
    array(
    \\’header\\’ => array(
    \\’url\\’ => \\’%s/images/header.jpg\\’,
    \\’thumbnail_url\\’ => \\’%s/images/header.jpg\\’,
    \\’description\\’ => __( \\’header\\’, \\’themename\\’ ),
    ),
    )

    $custom_header_support = array(
    \\’width\\’ => 1150,
    \\’height\\’ => 559,
    \\’header-text\\’ => false,
    \\’default-image\\’ => get_template_directory_uri() . \\’/images/header.jpg\\’,
    );
    add_theme_support( \\’custom-header\\’, $custom_header_support );

    想起前一阵子苹果发布 macOS Mojave 主题时自带的特色壁纸 Mojave Desert,可随着系统时间自动变换沙漠的日夜景色,相当酷炫,于是打算在 WordPress 的自定义头部图片实现类似的不同时间展示不同图像的效果。

    1、首先确认自己主题自带自定义头部图片功能,特征是 function.php 或其他自定义文件中有上面所述两个函数。

    2、在 function.php 中插入如下代码:

    function timelapse() {
    date_default_timezone_set(\\’Asia/Shanghai\\’);
    $hour=date(“H”);
    $lapse = 0;
    if($hour>=0 && $hour<=4): $lapse=16;
    elseif($hour>4 && $hour<=5): $lapse=1;
    elseif($hour>5 && $hour<=6): $lapse=2;
    elseif($hour>6 && $hour<=7): $lapse=3;
    elseif($hour>7 && $hour<=8): $lapse=4;
    elseif($hour>8 && $hour<=9): $lapse=5;
    elseif($hour>9 && $hour<=12): $lapse=6;
    elseif($hour>12 && $hour<=13): $lapse=7;
    elseif($hour>13 && $hour<=14): $lapse=8;
    elseif($hour>14 && $hour<=15): $lapse=9;
    elseif($hour>15 && $hour<=16): $lapse=10;
    elseif($hour>16 && $hour<=17): $lapse=11;
    elseif($hour>17 && $hour<=18): $lapse=12;
    elseif($hour>18 && $hour<=19): $lapse=13;
    elseif($hour>19 && $hour<=20): $lapse=14;
    elseif($hour>20 && $hour<=24): $lapse=15;
    else: $lapse=15;
    endif;
    return $lapse;
    }

    3、在 header.php 中找到头标签,并按如下代码根据自己主题相应修改:

    4、下面是转换 Mojave 图片的过程(你也可以用自己喜欢的其它图库来实现)。如果系统已升级为 macOS Mojave,按照下图路径找到 Mojave.heic 无损压缩图。

    将 Mojave.heic 用网上的在线 heic 转 jpg 工具转存为 jpg,或用系统自带的 “预览” 工具打开并手工转存为 jpg,并将图片按照其景色分别命名 header-1.jpg~header-16.jpg 对应 24 小时中的不同时段。

    将图片压缩到自定义大小后上传至 get_template_directory_uri() . ‘/images/’ 路径下,大功告成!

    用类似方法实现了自定义背景颜色根据时间自动变换,代码如下:

    //自定义背景颜色
    function colorlapse() {
    date_default_timezone_set(\’Asia/Shanghai\’);
    $hour=date(“H”);
    $colorlapse = “#555″;
    if($hour>=0 && $hour<=4): $colorlapse=”#6a6f6f”;
    elseif($hour>4 && $hour<=5): $colorlapse=”#8a8f8f”;
    elseif($hour>5 && $hour<=6): $colorlapse=”#9a9f9f”;
    elseif($hour>6 && $hour<=7): $colorlapse=”#aaafaf”;
    elseif($hour>7 && $hour<=8): $colorlapse=”#babfbf”;
    elseif($hour>8 && $hour<=9): $colorlapse=”#cacfcf”;
    elseif($hour>9 && $hour<=12): $colorlapse=”#dadfdf”;
    elseif($hour>12 && $hour<=13): $colorlapse=”#eaefef”;
    elseif($hour>13 && $hour<=14): $colorlapse=”#fdfefe”;
    elseif($hour>14 && $hour<=15): $colorlapse=”#dadfdf”;
    elseif($hour>15 && $hour<=16): $colorlapse=”#cacfcf”;
    elseif($hour>16 && $hour<=17): $colorlapse=”#babfbf”;
    elseif($hour>17 && $hour<=18): $colorlapse=”#babfbf”;
    elseif($hour>18 && $hour<=19): $colorlapse=”#aaafaf”;
    elseif($hour>19 && $hour<=20): $colorlapse=”#9a9f9f”;
    elseif($hour>20 && $hour<=24): $colorlapse=”#8a8f8f”;
    else: $colorlapse=”#555″;
    endif;
    return $colorlapse;
    }

    精简写法

    if($hour>=0 && $hour<=4){
    $lapse = 16;
    } elseif ($hour>4 && $hour<=9) {
    $lapse = $hour – 4;
    } elseif($hour>9 && $hour<12){
    $lapse = 6;
    } elseif ($hour>=12 && $hour<=20){
    $lapse = $hour – 6;
    }elseif ($hour>20 && $hour<=24){
    $lapse = 15;
    }

    2、在 header.php 中找到标签,更改为:

    style=”background-color: !important”>

    猜你在找

    • 2021-04-26Hi,初次和大家见面了,请多关照!

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 3482249445@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    升级SVIP尊享更多特权立即升级
    My title page contents
    召唤伊斯特瓦尔