因为ZBLOGPHP兼容MYSQL和SQLITE两种数据库格式,部分早期代码无法直接同时兼容两种数据库,比如随机RAND函数,在MYSQL中使用就没问题,如果在SQLITE中使用需要使用RANDOM函数。
复制以下代码到主题的post-single.php文件或者其他合适的位置即可。
{$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)); } switch ($zbp->option['ZC_DATABASE_TYPE']) { case 'mysql': case 'mysqli': case 'pdo_mysql': $order = array('RAND()'=>''); break; case 'sqlite': case 'sqlite3': $order = array('RANDOM()'=>''); break; } $array = $zbp->GetArticleList(array('*'),$where,$order,array(10),''); foreach ($array as $related) { if(($related->ID)!=$aid){ $str .= "<li><a href=\"{$related->Url}\" title=\"{$related->Title}\">{$related->Title}</a></li>"; } } {/php} {$str}
需要注意的是,如果你的网站文章数量非常多,请不要使用上面提供的代码,或者将随机部分参考[一种比较节省资源的随机文章获取方法]进行修改。
转载请注明:鸟儿博客 » ZBLOGPHP相关文章兼容代码