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(){ $str = file_get_contents ( ‘http://cn.bing.com/HPImageArchive.aspx?idx=0&n=1‘ );
if (preg_match( "/<url>(.+?)<\/url>/ies" , $str , $matches )){
$imgurl = ‘http://cn.bing.com‘ . $matches [0];
echo ‘<style type="text/css">body{background: url(‘ . $imgurl . ‘);width: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-repeat\9;background-image:none\9;}</style>‘ ;
}}
add_action( ‘login_head‘ , ‘custom_login_head‘ );
|
需要修改的因該是
1 2 3 4 5 6 |
$str = file_get_contents ( ‘http://cn.bing.com/HPImageArchive.aspx?idx=0&n=1‘ );
//這裏應該是必應每日美圖接口
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(){
$str = file_get_contents ( ‘http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1‘ );
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
$str = file_get_contents ( ‘http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1‘ );
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放在服務器網站相應目錄,通過訪問就能直接調用必應高清圖啦!
比如這個示例
至此就全部完成了!!!
WordPress使用必應每日一圖作登錄頁面背景