Zblog如何实现同分类上一篇下一篇文章

zhanzhang1年前阿里云建站2750

ZblogPHP系统默认是通过ID来展现上一篇,下一篇文章的,如果在同分类实现文章上一篇下一篇可能更有利于提高文章阅读的关联性,也有很多用户有这样的需求,现在来介绍一下实现方法。

1、在主题include.php文件最底部的?>上面添加以下代码。

function umtheme_PostPrev(&$goPage) {
    global $zbp;
    $prev=$goPage;
    $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 umtheme_PostNext(&$goPage) {
    global $zbp;
    $prev=$goPage;
    $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;
    }
}

2、在主题的include.php文件中找到ActivePlugin_主题ID函数,在函数中添加以下代码。

Add_Filter_Plugin('Filter_Plugin_Post_Prev', 'umtheme_PostPrev');
Add_Filter_Plugin('Filter_Plugin_Post_Next', 'umtheme_PostNext');

3、在详情页模版post-single.php对应的位置添加以下分页代码即可。

{if $article.Prev}
    <div class="prev"><span>上一篇:</span><a href="{$article.Prev.Url}" title="{$article.Prev.Title}">{$article.Prev.Title}</a></div>
{/if}
{if $article.Next}
    <div class="next"><span>下一篇:</span><a href="{$article.Next.Url}" title="{$article.Next.Title}">{$article.Next.Title}</a></div>
{/if}

相关文章

Zblog如何设置伪静态?Zblog伪静态设置教程

Zblog如何设置伪静态?Zblog伪静态设置教程

本文教程仅针对Z-blogPHP版本。请一定要确定你的主机支持伪静态功能(如何辨别主机是否支持伪静态?很简单,问问你的主机提供商就知道了)Z-blogPHP版本有一个很好用的“静态管理中心”的设置Zb...

如何从零开始安装Discuz! Q内测版

如何从零开始安装Discuz! Q内测版

首先强调一点:当前Discuz! Q还是很早期的版本,主要是面向开发者,让开发者提前介入模板和插件的开发。或者有经验的站长,作为早期体验和选型。但如果是不很懂技术的小白,也想体验的话,可以按照下面的方...

Discuz! Q 第一个内测版发布了

Discuz! Q 第一个内测版发布了

HI,大家好,我是 Q。大周末的,研发团队为我熬了一夜,就不多废话了,直入正题~Discuz! Q alpha v0.3.200315 发布!在我的上一个版本 Discuz! Q alpha v0.2...

Z-BlogPHP如何让PC和移动端显示不同的广告

Z-BlogPHP如何让PC和移动端显示不同的广告

1、首先将以下代码添加到所使用主题的include.php文件中。function Zhanbuluo_is_mobile() {     ...

WordPress 5.3 正式版最新免费下载

WordPress 5.3 正式版最新免费下载

WordPress 5.3版本主要的更新内容都是围绕新版编辑器展开的,其次就是后台UI展示的优化,让可操作功能的展示更醒目。我们建议大家一直保持WordPress程序为最新版本,因为每次的更新除了功能...

Zblog1.6版本固定域名后出错的解决办法

Zblog1.6版本固定域名后出错的解决办法

最近Zblog升级到了1.6版本,官方对于Zblog1.6版本固定域名后出错这个问题给了一个新的解决办法。注意:本文方法仅适用于Zblog1.6版本,低于1.6的版本均不能使用。ftp链接上服务器,打...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。