WordPress中自动截取限定字数的文章摘要
资源外星人导读:本站为大家带来WordPress中自动截取限定字数的文章摘要文章,更多建站技术,请继续关注资源外星人!
在WordPress模板制作的过程当中,我们经常需要截取限定字数的文章摘要,有些朋友喜欢使用 more 标签来截取,还有一些朋友喜欢手动给每篇文章添加摘要,然后使用 the_excerpt() 函数输出,但是这样耗时耗力,而且效果也不是特别好。91wordpress的站长结合多年wordpress制作经验,向大家介绍一个简单的方法:
1. 切换到主题所在目录,打开functions.php,加入如下代码:
functions.php
<?php
/*added by jacky*/
function jackyexcerpt($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='read-more-wrapper'><a href='".get_permalink()."' title='read more' rel='nofollow'><span>阅读全文</span></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);
}
?>
2. 在需要显示摘要的地方使用下面的代码调用即可:
<?php
/*added by jacky*/
function jackyexcerpt($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='read-more-wrapper'><a href='".get_permalink()."' title='read more' rel='nofollow'><span>阅读全文</span></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);
}
?>
注意:上面的 200 ,可以根据自己的需要修改。
以上就是资源外星人整理的WordPress中自动截取限定字数的文章摘要全部内容,希望对大家有所帮助!