typecho文章置顶跟定时发布冲突

typecho自带了一个定时发布功能,前段时间说到过,文章置顶是通过插件来实现,所以出现问题在所难免,对于文章置顶功能还是很不错的,例如在过年过节可以提前发表一篇祝福文来置顶。

我就是在新年那段时间遇到的这个问题,不过当时对于typecho并不是很熟悉,所以很难修改插件,自己也不是经常发一些置顶文章,但是问题终究是问题,所以得想法解决掉。

先来描说一下问题把,首先定时发布一篇文章,然后在其未显示出来的时候置顶该文章,这样问题就出现了,在时间未到的时候文章就提前出来了。

问题就是这样,看代码也很容易找到问题,解决方法也比较简单把,但是由于刚开始并不懂typecho,所以没有解决这个问题,今天费了点时间了解了下,终于解决了。

直接贴代码好了,首先定位代码到86行,然后找到下面的代码:

 if ($cid && $sticky_post = $db->fetchRow($archive->select()->where('cid = ?', $cid)))

修改成如下代码:

 if ($cid && $sticky_post = $db->fetchRow($archive->select()->where('cid = ?', $cid)->where('created < ?', mktime())))

直接就判断下文章的时间戳是否小于服务器的时间戳,ok有问题可以留言给我。

没有评论: