我如何展示' ...'当WordPress标题超过长度

时间:2014-07-08 15:42:45

标签: php wordpress

我有一个功能可以将标题修剪为一定长度。它确实正确地修剪了标题,但始终显示' ...'即使标题不超过长度。

有没有人知道怎么做才能这样做......'只会显示标题是否太长?

// 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') ?>

2 个答案:

答案 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, '...'); ?>

...并根据需要将其滚动到您自己的功能中。