关于Joe主题在function.php第261行的报错处理

shallgoing
2024-07-28 / 0 评论 / 19 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年08月11日,已超过102天没有更新,若内容或图片失效,请留言反馈。

先看一下报错是这样的:
5640946A19CE21272680FB27676761C7.png

首先找到Joe主题的文本位置,然后再打开core文件夹下的function.php文件对第261行进行修改
原来报错的代码为:

/* 获取父级评论 */
function _getParentReply($parent) 
{
  if ($parent !== "0") {
    $db = Typecho_Db::get();
    $commentInfo = $db->fetchRow($db->select('author')->from('table.comments')->where('coid = ?', $parent));
    echo '<div class="parent"><span style="vertical-align: 1px;">@</span> ' . $commentInfo['author'] . '</div>'; 
  }
}

我们需要给他修改修改代码如下:

/* 获取父级评论 */
function _getParentReply($parent) 
{
  if ($parent !== "0") {
    $db = Typecho_Db::get();
    $commentInfo = $db->fetchRow($db->select('author')->from('table.comments')->where('coid = ?', $parent)); 
    if ($commentInfo) {
      echo '<div class="parent"><span style="vertical-align: 1px;">@</span> ' . htmlspecialchars($commentInfo['author'], ENT_QUOTES, 'UTF-8') . '</div>';
    }
    // 如果查询没有返回结果,则什么也不做
  }
}

关键点解释:

检查数据库操作结果:

1.if ($commentInfo):检查 fetchRow 的结果是否为 null。只有在查询成功并且返回了结果时,才会访问 commentInfo['author'] 并输出父级评论。
2.不显示未知作者:如果查询没有返回结果,则不输出任何内容。

快去试试吧~

2

评论

博主关闭了所有页面的评论