修改了一个关于主题的逻辑问题

引言

今天无意间发现了主题的一个小bug(其实也算不上bug,也就是一点逻辑上的小问题)。于是便动手修改了这个bug(PS:本人php小白,纯小白;连输出hello word都不会╮(╯▽╰)╭,不过我可是会C语言的人(手动滑稽)),问题描述以及修复过程如下。

问题描述

问题出在文章末尾的输出下一篇和上一下篇文章的地方。发现问题的过程如下:

  • 首页第一篇文章(也就是最新的一篇文章)的末尾如下:
    第一篇文章末尾

注意看画圈的地方,上面显示的是previous post(也就是上一篇文章),但是已经是最靠前的文章了呀,为什么还有前一篇文章,而且链接指向的是下一篇文章。

  • 点击来到下一篇文章的末尾:
    中间部分文章末尾

通过观察画圈的地方可以发现上一篇文章和下一篇文章的链接好像是放反了。结合第一篇文章的末尾我推测;主题作者定义的第一篇文章应该是发布的第一篇文章(也就是发布最久的一篇文章),所以最新发布的一篇文章就成了最后一篇文章。

  • 为了验证猜测,我来到我发布的第一篇文章:
    发布的第一篇文章末尾

看到画红圈的地方,验证了我的猜测。

问题分析:
虽然作者的逻辑对实现显示下一篇和上一篇文章的功能没用影响,但是对用户不太友好;因为用户默认会以看到的第一篇文章(也就是首页的最新发布的文章)作为起始的文章,而这样的逻辑刚好和实现该功能的逻辑相反,这样会降低用户的浏览体验(我是这样认为的(^▽^)),所以需要对这一功能的逻辑进行一下简单的修改。

解决方法

这因该是与文章的输出有关,所以我先去查看post.php里面的内容;找到如下内容:

看来该功能应该是调用这个自定义函数来实现的(这里纯属我瞎猜,如有错误请指正ʘʚʘ)。现在完了(o゚ω゚o),完全不会php的我根本不知道去哪找函数的实现过程,而且我也没看见在哪里引入的头文件(我也不清楚php有没有头文件(ಥ_ಥ)),不过好在我会几个单词,于是找到了function.php ʅ(‾◡◝)ʃ ,然后找到了函数的实现部分:

修改的部分就简单了,就需要简单改改逻辑就行了,修改后如下:

修改方法:
function.php中找到theNextPrev,将如下内容:

$prevResult = queryNextPrev(true, $widget);
$nextResult = queryNextPrev(false, $widget);

修改为:

$prevResult = queryNextPrev(false, $widget);
$nextResult = queryNextPrev(true, $widget);

就修改后就好多:

手机上阅读

本文由 giao创作, 采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
原文地址:《修改了一个关于主题的逻辑问题》

 最后一次更新于2018-12-27

0 条评论

添加新评论

Markdown is supported.