Typecho实现文章上一篇下一篇功能
本文最后由豫见长安更新于2024 年 4 月 6 日,已超过281天没有更新。如果文章内容或图片资源失效,请留言反馈,将会及时处理,谢谢!
在主题的文件 function.php 中加入以下代码:
/**
* 显示上一篇
*/
function thePrev($widget, $default = NULL)
{
$db = Typecho_Db::get();
$sql = $db->select()->from('table.contents')
->where('table.contents.created < ?', $widget->created)
->where('table.contents.status = ?', 'publish')
->where('table.contents.type = ?', $widget->type)
->where('table.contents.password IS NULL')
->order('table.contents.created', Typecho_Db::SORT_DESC)
->limit(1);
$content = $db->fetchRow($sql);
if ($content) {
$content = $widget->filter($content);
$link = '<a href="' . $content['permalink'] . '" title="' . $content['title'] . '">上一篇</a>';
echo $link;
} else {
echo $default;
}
}
/**
* 显示下一篇
*/
function theNext($widget, $default = NULL)
{
$db = Typecho_Db::get();
$sql = $db->select()->from('table.contents')
->where('table.contents.created > ?', $widget->created)
->where('table.contents.status = ?', 'publish')
->where('table.contents.type = ?', $widget->type)
->where('table.contents.password IS NULL')
->order('table.contents.created', Typecho_Db::SORT_ASC)
->limit(1);
$content = $db->fetchRow($sql);
if ($content) {
$content = $widget->filter($content);
$link = '<a href="' . $content['permalink'] . '" title="' . $content['title'] . '">下一篇</a>';
echo $link;
} else {
echo $default;
}
}
如果没有上一篇或者下一篇,就会默认 $default 显示为空,最后我们直接放在合适的位置,通过代码调用即可。
调用代码:
<!--上一篇-->
<?php thePrev($this); ?>
<!--下一篇-->
<?php theNext($this); ?>
分类标签:网文,网文,Typecho,插件
文章标题:Typecho实现文章上一篇下一篇功能
文章链接:https://zhaojx.fun/archives/301/
最后编辑:2024 年 4 月 6 日 21:45 By 豫见长安
许可协议: 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
文章标题:Typecho实现文章上一篇下一篇功能
文章链接:https://zhaojx.fun/archives/301/
最后编辑:2024 年 4 月 6 日 21:45 By 豫见长安
许可协议: 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)