非插件zblog php同分类上下篇文章代码

同分类文章上一篇下一篇更有利于提高文章的关联性,博客吧之前分享的zblog php同分类上下篇文章插件TcClassPost可以直接实现,其实也可以把这个插件里的代码提取出来添加到主题的include.php文件实现,方法同时也很简单。

操作步骤:

1、在主题include.php文件添加以下代码:

提示:可以添加以最后一行的?>上面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function boke8_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 boke8_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;
}
}

2、在主题的include.php文件中找到ActivePlugin_start()函数,在函数中添加以下代码:

提示:如果没有这个函数的话,请自行增加。

1
2
Add_Filter_Plugin('Filter_Plugin_Post_Prev', 'boke8_Post_Prev');
Add_Filter_Plugin('Filter_Plugin_Post_Next', 'boke8_Post_Next');

3、保存文件即可。

注意:如果主题没有添加上一篇、下一篇调用代码,还要在主题的文件模板(一般是post-single.php)添加以下代码:

1
2
3
4
5
6
{if $article.Prev}
<p>上一篇:<a href="{$article.Prev.Url}" title="{$article.Prev.Title}">{$article.Prev.Title}</a></p>
{/if}
{if $article.Next}
<p>下一篇: <a href="{$article.Next.Url}" title="{$article.Next.Title}">{$article.Next.Title}</a></p>
{/if}

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/248466.html

(0)
上一篇 2022年4月23日
下一篇 2022年4月23日

相关推荐

发表回复

登录后才能评论