ZBlog文章页上下篇文章只调取同分类文章的方法

使用教程 33
ZBlog主题的文章模板中有“上一篇”和“下一篇”,默认是调取不限分类的上下篇文章。举例:网站有三种不同领域的文章分...
ZBlog主题的文章模板中有“上一篇”和“下一篇”,默认是调取不限分类的上下篇文章。
举例:网站有三种不同领域的文章分类,分别是编程、设计和建站,在浏览编程分类的某篇文章时,上一篇文章是设计分类的文章,
下一篇文章是建站分类的文章,本文章的内容和关键词与上、下篇文章不相关,如果上下篇的文章只调取同分类的其它文章,
提高文章内容和关键词的相关度,又可提高访客浏览体验。
使用方法
一、打开编辑文件:/zb_users/theme/主题ID/include.php,在?>的上方(也就是底部)插入以下代码:
//上下篇仅调取同分类文章
function sanblog_Post_Prev(&$getthis) {
    global $zbp;
    $prev=$getthis;
    $articles = $zbp->GetPostList(
        array('*'),
        array(array('=', 'log_Type', 0), array('=', 'log_CateID', $prev->Category->ID),array('=', 'log_Status', 0), array('<', 'log_PostTime', $prev->PostTime)),
        array('log_PostTime' => 'DESC'),
        array(1),
        null
    );
    if (count($articles) == 1) {
        return $articles[0];
    } else {
        return null;
    }
}
function sanblog_Post_Next(&$getthis) {
    global $zbp;
    $prev=$getthis;
    $articles = $zbp->GetPostList(
        array('*'),
        array(array('=', 'log_Type', 0), array('=', 'log_CateID', $prev->Category->ID),array('=', 'log_Status', 0), array('>', 'log_PostTime', $prev->PostTime)),
        array('log_PostTime' => 'ASC'),
        array(1),
        null
    );
    if (count($articles) == 1) {
        return $articles[0];
    } else {
        return null;
    }
}

ZBlog文章页上下篇文章只调取同分类文章的方法图1
二、在顶部插入以下代码并保存文件:
Add_Filter_Plugin('Filter_Plugin_Post_Prev', 'sanblog_Post_Prev');
Add_Filter_Plugin('Filter_Plugin_Post_Next', 'sanblog_Post_Next');

ZBlog文章页上下篇文章只调取同分类文章的方法图2
三、在后台首页点击“清空缓存并重新编译模板”。

ZBlog文章页上下篇文章只调取同分类文章的方法图3
扫码二维码