当前位置:首页 > 阿里云建站 > 正文内容

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

zhanzhang4年前 (2020-06-09)阿里云建站10450

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}

扫描二维码推送至手机访问。

版权声明:本文由站部落发布,如需转载请注明出处。

本文链接:https://www.zhanbuluo.com/jianzhan/42.html

分享给朋友:

发表评论

访客

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