温馨提示:本文最后更新于2022年12月10日,已超过 30 天没有更新,某些文章具有时效性,若有错误或已失效,请在下方留言!

前言


本期主要美化内容有:添加文章过期提醒、自定义随机图API。

一、添加文章过期提醒


某些文章内容可能因为版本原因会有一定的时效性,添加文章最后更新时间还是非常有必要的,这样能让阅读者更清楚文章的具体时间。

打开主题下 functions.php,在底部插入以下代码

/**
 * 文章过期提醒。
 * 
 */
function article_overdue_reminder($content) {
    if (is_single()) {
    $modified = get_the_modified_time('U');  //获取最后更新时间戳
    $current = current_time('timestamp');
    if (($current - $modified) / (60 * 60 * 24) > 30) {
    $content = '<div class="warning shortcodestyle"><i class="fa fa-exclamation-triangle"></i><font color="#FF0000"></font>温馨提示:本文最后更新于'.get_the_modified_time('Y年n月j日'). ',已超过 30 天没有更新,某些文章具有时效性,若有错误或已失效,请在下方留言!</div>'.$content;
    }
    }
    return $content;
    }
add_filter('the_content', 'article_overdue_reminder');

然后打开主题下tpl/content-single.php,添加以下内容,大概在26行左右

image-20221219172646060

<?php article_overdue_reminder($content); ?>   <!--添加过期提醒-->

最后就完成了,如果文章最后更新时间超过一个月就会显示出如下内容

image-20221219172757847

二、自定义随机图API


Sakurairo主题虽然提供了一个封面api,但是如果想要将自己喜欢的多张背景图用作封面的话,第一种可以将背景图放在本地,这样的话会降低网站的访问速度,第二种就是可以自己做一个对象存储api,这样每次调用就返回一个封面地址即可。

新建一个img.php,放在服务器域名下

<?php
//图片链接的文件名img.txt
$filename = "img.txt";
if(!file_exists($filename)){
    die('文件不存在');
}
//从文本获取链接
$pics = [];
$fs = fopen($filename, "r");
while(!feof($fs)){
    $line=trim(fgets($fs));
    if($line!=''){
        array_push($pics, $line);
    }
} 
//从数组随机获取链接
$pic = $pics[array_rand($pics)]; 
//返回指定格式
$type=$_GET['type'];
switch($type){
//JSON返回
case 'json':
    header('Content-type:text/json');
    die(json_encode(['pic'=>$pic]));
default:
    die(header("Location: $pic"));
}
?>

然后新建一个img.txt文件,同样也存放在服务器域名下即可
txt中存放图片链接即可,这里可以通过又拍云云存储作为图床,这里就不赘述了。

最后调用封面api即可,api链接格式为:https://你的域名/img.php