我有一个功能可以将标题修剪为一定长度。它确实正确地修剪了标题,但始终显示' ...'即使标题不超过长度。
有没有人知道怎么做才能这样做......'只会显示标题是否太长?
// Title Excerpt//
function the_titlesmall($before = '', $after = '', $echo = true, $length = false) { $title = get_the_title();
if ( $length && is_numeric($length) ) {
$title = substr( $title, 0, $length );
}
if ( strlen($title)> 0 ) {
$title = apply_filters('the_titlesmall', $before . $title . $after, $before, $after);
if ( $echo )
echo $title;
else
return $title;
}
}
//End Title Excerpt
循环中的PHP
<?php the_titlesmall('', '', true, '15') ?>
答案 0 :(得分:2)
编辑:专注于修剪标题。
尝试将此功能添加到functions.php
。
function short_title($after = '', $length) {
$mytitle = get_the_title();
if ( strlen($mytitle) > $length ) {
$mytitle = substr($mytitle,0,$length);
echo $mytitle . $after;
} else {
echo $mytitle;
}
}
然后,无论您希望在何处显示标题,请输入以下内容:<?php short_title('...', 40); ?>
这会将其限制为40个字符,并添加...如果超过它。
答案 1 :(得分:0)
如果您无法在显示时使用CSS text-overflow: ellipsis
修剪它,我可能只会使用mb_strimwidth。这是它的设计目标。对于基本用途,可能是这样的事情:
<?php echo mb_strimwidth(get_the_title(), 0, 20, '...'); ?>
...并根据需要将其滚动到您自己的功能中。