在制作WordPress主题时,尤其是首页和类别页面时,我们需要控制文章的摘要和标题中的字数,以使整体布局更合理,更美观。今天,分享几种截取WordPress文章摘要内容和标题字数的方法。
一、使用WordPress内置函数wp_trim_words()进行截取
WordPress的内置wp_trim_words()函数专门用于限定字数的内容,例如文章摘要,内容和标题。
<?php
echo wp_trim_words( get_the_content(), 55 ); // 文章内容
echo wp_trim_words( get_the_excerpt(), 55 ); // 文章摘要
echo wp_trim_words( get_the_title(), 30 ); // 文章标题
?>
wp_trim_words()函数基本用法:
<?php $trimmed = wp_trim_words( $text, $num_words = 55, $more = null ); ?>
参数说明:
$text(字符串)(必需)要截取的内容,默认:无;
$num_words(整数)(可选)限定的字数,默认:55;
$more(字符串)(可选)截取后加在尾部的字符,默认:‘…’
二、使用php函数mb_strimwidth()进行截取
mb_strimwidth是一个超轻量级的php函数,用于获取指定宽度截断字符串。
mb_strimwidth()函数基本用法:
<?php
echo mb_strimwidth(get_the_title(), 0, 30,"...");
?>
<?php
mb_strimwidth(string $str,int $start, int $width [,string $trimmarker [, string $encoding ]] )
?>
参数说明:
$str//指定字符串
$start//指定从何处开始截取
$width//截取文字的宽度
$trimmarker//超过$width数字后显示的字符串
三、使用原生函数customTitle()进行截取
将下面的代码添加到主题的functions.php文件中:
function customTitle($limit) {
$title = get_the_title($post->ID);
if(strlen($title) > $limit) {
$title = substr($title, 0, $limit) . '...';
}
echo $title;
}
在需要调用的地方添加下面的代码即可:
<?php customTitle(30); ?>
四、使用自定义函数cut_str ()进行截取
//标题截断
function cut_str($src_str,$cut_length){$return_str='';$i=0;$n=0;$str_length=strlen($src_str);
while (($n<$cut_length) && ($i<=$str_length))
{$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<$str_length){$return_str = $return_str . '...';}
if (get_post_status() == 'private'){ $return_str = $return_str . '(private)';}
return $return_str;};
在需要调用的地方添加下面的代码即可:
<?php echo cut_str($post->post_title,30); ?>
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505