文章上一篇与下一篇调用代码:
<?php $this->thePrev(); ?> <?php $this->theNext(); ?>
或者
<?php $this->thePrev('上一篇 : %s', '没有上一篇'); ?> <?php $this->theNext('下一篇 : %s', '没有下一篇'); ?>
这样的会输出同时文章的标题和链接,不是很利于加样式。
不过1.0版的typecho,已经支持更灵活的上下文输出:
$this->thePrev($format = '%s', $default = NULL, $custom = array( 'title' => '', 'tagClass' => '' ));
$custom 数组部分即为自定义内容,目前支持给上下文链接添加自定义的 CSS 类名、及输出文字,文字部分支持 html 代码:
$this->thePrev('%s', NULL, array('title' => '<span>上一篇</span>', 'tagClass' => 'prev-content'));
上面的代码会输出:
<a class="prev-content" href="{permalink}" title="{title}"><span>上一篇</span></a>
老版本(亲测:其实1.0版这么用也是可以的)
/** * 显示下一篇 * * @access public * @param string $default 如果没有下一篇,显示的默认文字 * @return void */ 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; } } /** * 显示上一篇 * * @access public * @param string $default 如果没有下一篇,显示的默认文字 * @return void */ 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; } }
调用代码:
<?php thePrev($this); ?> 和 <?php theNext($this); ?>
文章参考与http://t.160.me/33.html
觉得文章有用就打赏一下文章作者
微信扫一扫打赏