为每一篇博客文章增加相关文章,可以为读者展现更多的相关信息,提高用户体验,降低跳出率。
想当初,还在用zblog ASP时,由于有超强侧栏工具、相关文章等插件,用户跳出率常常在60%左右,换成zblog PHP后,跳出率升为百分之八九十。
因此,我把实现相关文章功能,列为了“两对半博客的2020年计划”中的一项。
在zblog的应用市场上寻找了一款相关文章的插件,33元,也不贵,但安装后还要加装一个应用基载,整来整去,还是没有显示出相关文章。
没有办法,花了钱也解决不了问题,只有自己去折腾了。
相关代码
从网上搜到了两段相关文章代码,如下。
代码之一,是官方推荐代码:
{$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}
代码二,使用了另外一种方法,调用zblog php的getlist函数:
{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}
使用方法
网上介绍的是:“选用其中的一种代码加到我们zblog网站模板里面的 post-single.php 里面,一般放在{$article.Content} 下面,具体样式自己修改一下”。
我在网站空间里搜索了“post-single.php”,发现有许多个,而需要更改的那个文件,其具体位置是:网站根目录/zb_users/theme/"你的博客主题"/template/post-single.php。
下载该文件到电脑桌面,选用记事本方式打开,查找到“{$article.Content} ”,在其下面添加上面两段代码之一,我目前试用的是较简短的代码二,代码一有空时再折腾一下,看有没有什么不同。
我的修改及最后效果
我把代码二修改了一下,以实现:
1.添加“相关文章”标题,也可改为想要的其他文字,如“您可能感兴趣的文章”等。
2.把相关文章的数目由10改为5。
3.去掉列表项前的小圆点,并把日期放到后边。
修改后的代码如下:
<b>您可能感兴趣的文章:</b>
{foreach GetList(5,null,null,null,null,null,array('is_related'=>$article.ID)) as $related}
<br / ><a href="{$related.Url}">{$related.Title}</a><span> ({$related.Time('Y-m-d')})</span>
{/foreach}
最终效果如下:
据感觉,这个相关文章的功能是根据文章的标签来实现,以后,不用再费时费力的添加相关文章链接,不过,要为每一篇文章加上相关的标签。
以后,将根据自己的实践,在这里更新“相关文章”和标签的内容。
PS:
2020年2月10日,嫌5条相关文章数目太少,我又将5条改为10条了。
您可能感兴趣的文章:
Zblog PHP更换阿里云虚拟主机空间 (2021-10-01)
又拍云的开通记录 (2020-02-25)
zblog php 首页与文章页设置不同的侧栏 (2020-02-16)
zblog如何实现段落首行缩进和段落间距调整 (2020-02-09)
评论列表:
如果要这样改,需要找到相关源码去修改,或者如果文章不是很多,编辑文章,把第二个或其他的标签都去掉。