概述
先森在实现博客自适应的时候,关于标题和内容的截取可谓是走了不少弯路,吃了不少亏,所以看到@boke112导航 做了一个分享,先森就转过来作为笔记了。
我们在制作(或DIY)WordPress主题的时候,特别是首页和分类目录页,我们就有必要通过控制文章摘要内容和标题的字数来让整体布局更加合理和美观,今天我们就跟大家分享五种方法完美截取WordPress文章摘要内容和标题字数。
标题和内容截取
方法一:使用WP内置函数wp_trim_words()截取
WordPress内置的wp_trim_words()函数,专门用来截取限定字数的内容,比如文章摘要、内容、标题等。
echo wp_trim_words( get_the_content(), 66 ); // 文章内容
echo wp_trim_words( get_the_excerpt(), 66 ); // 文章摘要
echo wp_trim_words( get_the_title(), 30 ); // 文章标题
?>
wp_trim_words()函数默认用法:
参数说明:
$text(字符串) (必需) 要截取的内容,默认: 无;
$num_words(整数) (可选) 限定的字数,默认: 55;
$more(字符串) (可选) 截取后加在尾部的字符,默认: ‘…’
示例说明:
$content = get_the_content();
$trimmed_content = wp_trim_words( $content, 30, ' ...阅读更多' );
echo $trimmed_content;
?>
注:可以修改上面的数字30来设定长度。
方法二:使用php函数mb_strimwidth()截取
mb_strimwidth是超轻量级的php函数,用来获取指定的宽度截断字符串。
mb_strimwidth()函数默认用法:
mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker [, string $encoding ]] )
参数说明:
$str //指定字符串
$start //指定从何处开始截取
$width //截取文字的宽度
$trimmarker //超过
$width数字后显示的字符串
示例说明:
平时我们调用文章标题都是这样:
现在我想控制标题的输出字数,只需要使用mb_strimwidth函数后变成这样:
注:可以修改上面的数字30来设定长度。
方法三:使用原生函数customTitle ()截取
将下面的代码添加到主题的functions.php文件最后一个 ?> 的前面:
function customTitle($limit) {
$title = get_the_title($post->ID);
if(strlen($title) > $limit) {
$title = substr($title, 0, $limit) . '...';
}
echo $title;
}
然后在需要调用的地方添加下面的代码即可:
注:可以修改上面的数字30来设定长度。
方法四:使用自定义函数cut_str ()截取
将下面的代码添加到主题的functions.php文件最后一个 ?> 的前面:
//标题截断
function cut_str($src_str,$cut_length){$return_str='';$i=0;$n=0;$str_length=strlen($src_str);
while (($n
{$tmp_str=substr($src_str,$i,1);$ascnum=ord($tmp_str);
if ($ascnum>=224){$return_str=$return_str.substr($src_str,$i,3); $i=$i+3; $n=$n+2;}
elseif ($ascnum>=192){$return_str=$return_str.substr($src_str,$i,2);$i=$i+2;$n=$n+2;}
elseif ($ascnum>=65 && $ascnum<=90){$return_str=$return_str.substr($src_str,$i,1);$i=$i+1;$n=$n+2;}
else {$return_str=$return_str.substr($src_str,$i,1);$i=$i+1;$n=$n+1;}
}
if ($i
if (get_post_status() == 'private'){ $return_str = $return_str . '(private)';}
return $return_str;};
然后在需要调用的地方添加下面的代码即可:
<?php echo cut_str($post->post_title,30); ?>
注:可以修改上面的数字30来设定长度。
方法五:使用CSS代码来“截取”
其实这不是截取,而是隐藏了溢出的字符。我们可以在主题CSS文件style.css中对标题所在的选择器 id 或 class 添加下面的样式:
.post-title{
width:250px; /* 限制宽度(可选) */
whitewhite-space:nowrap; /* 禁止自动换行 */
word-break:keep-all;/* 这个也是禁止自动,二选一即可 */
overflow:hidden; /* 隐藏溢出的内容 */
text-overflow:ellipsis; /* 溢出文本使用...代替 */
}
总结
文中分享的五种方法都可以实现自动截取WordPress文章的内容、摘要和标题字数,至于那个方法比较好用就是仁者见仁智者见智了,boke112在使用的过程中都是结合几种方法来使用的,比如同时使用方法二、四、五,有些地方可能是用方法二,有些地方可能是用方法五,关键还是看自己喜欢吧。
历史上的今天:
本文参考自:http://boke112.com/3445.html,由狂族晨曦(capjsj.cn)整理编辑,本文共2935个字。
本文链接地址:https://www.capjsj.cn/wp_trim_words.html , 转载请保留本说明!
最后
以上就是无私钢笔为你收集整理的php采集指定字数标题,WordPress文章摘要内容和标题字数5种完美截取方法的全部内容,希望文章能够帮你解决php采集指定字数标题,WordPress文章摘要内容和标题字数5种完美截取方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复