之前用Typecho 搭建了一个站点,使用的是“芒果”主题,首页输出的是“文章标题”,而非内容,所以也就没有手动加more标签。后来换了主题之后,悲催的直接全文输出了。如果再一篇一篇的去添加more标签非得累死不可。再说手动加more标签由于字数的控制问题,会使截断的文章长短不一,影响整体美观。使用自动阶段代码省却了手工截断的烦恼,也可以输出的整个模板页面比较整齐。
WordPress自动截断代码一:
<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 300,"..."); ?>
使用方法:用上面的代码替换当前主题archive.php、index.php模板文件中类似:<?php the_content(‘Read more…’); ?>或<?php the_excerpt(); ?>。其中数字200是字数,可以自行调整,但最好保持为偶数。
WordPress自动截断代码二:
<?php /* Auto-excerpt by winy */ function winyexcerpt($max_char = 200, $more_text = '...', $limit_type = 'content') { if ($limit_type == 'title') { $text = get_the_title(); } else { $text = get_the_content(); } $text = apply_filters('the_content', $text); $text = strip_tags(str_replace(']]>', ']]>', $text)); $text = trim($text); if (strlen($text) > $max_char) { $text = substr($text, 0, $max_char+1); $text = utf8_conver($text); $text = str_replace(array("\r", "\n"), ' ', $text); $text .= $more_text; if ($limit_type == 'content'){ $text = "<p>".$text."</p>"; $text .= "<div class='readmore'><a href='".get_permalink()."' title='查看全文点击此处' rel='nofollow'>继续阅读</a></div>"; } echo $text; } else { if ($limit_type == 'content'){$text = "<p>".$text."</p>";} echo $text; } } function utf8_conver($str) { $len = strlen($str); for ($i=strlen($str)-1; $i>=0; $i-=1){ $hex .= ' '.ord($str[$i]); $ch = ord($str[$i]); if (($ch & 128)==0) return(substr($str,0,$i)); if (($ch & 192)==192) return(substr($str,0,$i)); } return($str.$hex); }
在主题function.php里面插入上面的代码,在主题index.php或其它需要摘要输出的地方,找到<?php the_title(); ?>和<?php the_content(); ?>,以上分别用<?php winyexcerpt(60, ‘…’, ‘title’); ?>和<?php winyexcerpt(350); ?>替换。截取字符数可自行修改,后面两个参数分别是末尾省略符号和截取类别(标题或内容)。【代码来源:winysky】
Typecho自动截断代码:
<p><?php $this->excerpt(200, '...'); ?><a href="<?php $this->permalink() ?>" rel="bookmark" title="详细阅读关于<?php $this->title(); ?>">阅读全文...</a></p>
使用方法:在模版index.php文件中,用上面的代码替换掉<?php $this->content(); ?>。
嗯,自动截断比较好,老是手动的添加拆分日志的标签也不是个事儿。
@河石子: 嗯。这样排版更整齐。
俺都是手工加入截断
@leedi: 我现在也是在用手工加。
这个很实用。每次用more标签很麻烦
很不错,使用的
不错,学习了!!!
我回去试一下。
不错,学习了!!!
typecho不折腾还不错, 最近有点想转过去的意思
对于@牧风 这种技术流来说,用什么都不是问题了哈。
很不错 学习了!!
代码一个也看不懂
感谢楼主 问题解决了 不过我看楼主的blog好像很久没更新了。。。