

























今天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 342PHP 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; ?> 此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。