WordPress使用必应每日一图作登录页面背景

WordPress的登录界面在我第一次看到的时候就忍不住在心里一通吐槽

“这丫也太难看了吧”
“得改得改”
“这个wordpress的logo点击之后居然是跳转到wordpress官网,也忒不要脸了吧”
“路过路过”

记得在还没安装“WordPress”的时候有看到“WordPress使用Bing美图作为登录页面背景”,当时有留意一下,现在该付诸行动美化一下了。

百度了一篇修改的文章1、WordPress 使用必应(Bing)背景美图作为登录页面背景
不过博主使用的是1366*768分辨率的API接口,我想要1920*1080分辨率的图片啊

为了高清,我另外度娘了一下php获取必应每日一图的方法,找到两篇相对有用的文章:
2、5种方法获取Bing每日图片 附送高清API接口及网站背景调用
3、必应每日一图接口 – CSDN博客

缙哥哥博客没有提供php源码,提供了一个接口,对于一个有强迫症并且闲的发霉的人来说,直接调用是多么的不专业多么的无能,万一链接失效,我的设置且不是也没用了吗?所以我找到了第三篇文章,然而第三篇文章也没有提供源码,那就在第一篇文章源码的基础上修改吧

1
2
3
4
5
6
7
8
//调用bing美图作为登录页背景图
function custom_login_head(){
if(preg_match("/<url>(.+?)</url>/ies",$str,$matches)){
$imgurl='http://cn.bing.com'.$matches[0];
    echo'<style type="text/css">body{background: url('.$imgurl.');100%;height:100%;background-image:url('.$imgurl.');-moz-background-size: 100% 100%;-o-background-size: 100% 100%;-webkit-background-size: 100% 100%;background-size: 100% 100%;-moz-border-image: url('.$imgurl.') 0;background-repeat:no-repeat9;background-image:none9;}</style>';
}}
add_action('login_head', 'custom_login_head');

需要修改的因该是

1
2
3
4
5
6
//这里应该是必应每日美图接口
if(preg_match("/<url>(.+?)</url>/ies",$str,$matches)){
//这里应该是正则表达式获取文件名
$imgurl='http://cn.bing.com'.$matches[0];
//这里应该是合成图片URL

分析清楚了,剩下的就是更改这三个地方了,根据第三篇文章我们能够获取到必应每日高清美图接口
http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
接着是正则表达式,这个东西没接触过啊,只能自己去试一试了
利用站长之家提供的工具:正则测试
最后我用的正则是“//(.+?).jpg/”
修改拼接地址http://s.cn.bing.net

所以修改之后的代码应该是这样:

1
2
3
4
5
6
7
8
9
10
11
12
/**自定义登录界面背景*/
//调用bing美图作为登录页背景图
function custom_login_head(){
    if (preg_match("//(.+?).jpg/", $str, $matches)) {
        $imgurl='http://s.cn.bing.net'.$matches[0];
    }
    echo'<style type="text/css">body{background: url('.$imgurl.');background-image:url('.$imgurl.');-moz-border-image: url('.$imgurl.');}</style>';
    //这里我对background图片的样式进行了调整
    //方便小分辨率屏幕(如手机)显示图片正常,否则会被压缩
}
add_action('login_head', 'custom_login_head');

将以上代码加入至主题目录 Functions.php 文件最后面?>标签前(如果没有?>标签,则直接加到最后面)保存,WordPress登录界面背景就会每日更新为必应美图啦。

By the way,顺便提供一个获取高清原图的php源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if (preg_match("//(.+?).jpg/", $str, $matches)) {
    $imgurl='http://s.cn.bing.net'.$matches[0];
}
if ($imgurl) {
    header('Content-Type: image/JPEG');
    @ob_end_clean();
    @readfile($imgurl);
    @flush();
    @ob_flush();
    exit();
} else {
    exit('error');
}
?>

把以上代码另存为bingpic.php放在服务器网站相应目录,通过访问就能直接调用必应高清图啦!
比如这个示例

至此就全部完成了!!!

原文地址:https://www.cnblogs.com/54xavier/p/8467445.html