惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
有赞技术团队
有赞技术团队
Jina AI
Jina AI
H
Help Net Security
D
Docker
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
罗磊的独立博客
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
B
Blog RSS Feed
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MongoDB | Blog
MongoDB | Blog
美团技术团队
M
MIT News - Artificial intelligence
阮一峰的网络日志
阮一峰的网络日志
博客园 - 司徒正美
Microsoft Security Blog
Microsoft Security Blog
IT之家
IT之家

老罗博客

儿子视力下降 伤不起 莫名其妙的阳了 忙忙碌碌中收官 又是一年中考时 违章停车免处罚 又是一年高考时 旧烟卡里藏着儿子的童年 暴雨红色预警 启用新域名luolog.com 健康才是根本 新注册的域名 岁月匆匆,心安即是归处 扯蛋的成绩 快乐寒假将至 汽车打不着火
rizhi主题错误提示的修改
老罗 · 2026-04-05 · via 老罗博客

今天rizhi主题作者发来了更新包,适配了ty1.3.0,使用php7.4正常,使用php8.0出现错误的提示如下:
1、猜你喜欢部分

Warning: Undefined array key "permalink" in/www/wwwroot/www.luosir.cn/usr/themes/rizhi/functions.php on line 342

PHP 8.0 对未定义数组下标检查更严格,permalink 这个链接字段不存在,没获取到,PHP8 就报错,PHP7只会忽略,不会报错。
把出现错误提示的那行代码换成下面的,暂时就解决了

function getRandomPosts($random){
    // 修复$random参数类型检查问题
    if (!is_object($random)) {
        $random = Typecho_Widget::widget('Widget_Archive@index');
    }
    $db = Typecho_Db::get();
    $adapterName = $db->getAdapterName();//兼容非MySQL数据库
    if($adapterName == 'pgsql' || $adapterName == 'Pdo_Pgsql' || $adapterName == 'Pdo_SQLite' || $adapterName == 'SQLite'){
        $order_by = 'RANDOM()';
    }else{
        $order_by = 'RAND()';
    }
    $sql = $db->select()->from('table.contents')
        ->where('status = ?','publish')
        ->where('table.contents.created <= ?', time())
        ->where('type = ?', 'post')
        ->limit(6)
        ->order($order_by);

$result = $db->fetchAll($sql);
if($result){
    foreach($result as $val){
        // 初始化文章对象
        $obj = Typecho_Widget::widget('Widget_Abstract_Contents');
        $obj->push($val);
        
        // 正确获取标题和链接(Typecho 标准用法)
        $post_title = htmlspecialchars($obj->title);
        $permalink = htmlspecialchars($obj->permalink);
        
        echo '<li><a title="'.$post_title.'" href="'.$permalink.'">'.$post_title.'</a></li>';
    }
  }
}

2、暗黑模式下暗黑切换按钮失效
header.php里修改语法错误,如下

<?php if ($this->options->dark): ?>
<link rel="alternate stylesheet" type="text/css" href="<?php $this->options->themeUrl('/css/dark.min.css'); ?>" 
      class="dark-mode" title="dark"
      <?php if(empty($_COOKIE['night'])): ?>disabled="disabled"<?php endif; ?>>
<?php endif; ?>