据官方消息,这是一个已知的zblogphp1.5bug。具体表现为,在zblogphp1.4下正常的“相关文章”功能在升级到zblogphp1.5后就失效了,调用出来的不是相关文章而是最新文章。
在询问过zblog官方后给出的回复是这是一个已知bug,说是在下个版本(1.5.1)会修复(对此存疑)。
嗯,说下解决办法,如果你动手能力较强,可按照下面的方式修复。
1、找到你正在使用的主题中的post-single.php模板文件,找到以下代码:
{foreach GetList(10,null,null,null,null,null,array('is_related'=>$article.ID)) as $related}<li><span>{$related.Time('Y-m-d')}</span><a href="{$related.Url}">{$related.Title}</a></li>{/foreach}ps:代码不一定一模一样,但是只要找到“{foreach GetList(10,null,null,null,null,null,array('is_related'=>$article.ID)) as $related}”这一段就行。
替换成以下代码:
{$aid=$article.ID}{$tagid=$article.Tags}{$cid=$article.Category.ID}{php} $str = ''; $tagrd=array_rand($tagid); if( sizeof($tagid)>0 && ($tagid[$tagrd]->Count)>1){ $tagi='%{'.$tagrd.'}%'; $where = array(array('=','log_Status','0'),array('like','log_Tag',$tagi),array('<>','log_ID',$aid)); }else{ $where = array(array('=','log_Status','0'),array('=','log_CateID',$cid),array('<>','log_ID',$aid)); } $array = $zbp->GetArticleList(array('*'),$where,array('rand()'=>' '),array(6),''); foreach ($array as $related) { if(($related->ID)!=$aid){ $str .= "<li><span class=\"time\">{$related->Time('m-d')}</span><span class=\"title\"><i class=\"icon-doc-text\"></i><a href=\"{$related->Url}\" title=\"{$related->Title}\">{$related->Title}</a></span><small class=\"pcomm\"><i class=\"icon-comment-1\"></i> <a href=\"{$related->Url}#comments\" rel=\"nofollow\" title=\"《{$related->Title}》上的评论\">{$related->CommNums}</a></small></li>"; } }{/php}{$str}2022-07-04
2022-06-21
2022-06-13
2022-06-13
2022-06-07
2021-11-18
2021-07-07
2020-11-11
2020-09-18
2020-09-18
2020-09-08
2020-09-04