Wordpress / PHP: сокращать заголовок, если длина заголовка превышает 8 символов - PullRequest
1 голос
/ 14 декабря 2010

Я пытаюсь научиться сокращать заголовок, только если его длина превышает 8 символов.Если он длиннее 8 символов, введите первые 8 символов и поставьте после него эллипс.

Вот как я получаю название:

<?php echo $post->post_title ?>

Любая помощь будет принята с благодарностью.Это будет для меня отличным учебным уроком, так что я смогу повторить это в будущем, так что, опять же, любая помощь будет потрясающей.

Ответы [ 4 ]

5 голосов
/ 14 декабря 2010
<?php

    if (strlen($post->post_title) > 8)
       echo substr($post->post_title, 0, 8) . ' ...';
    else
       echo $post->post_title;

?>

В качестве альтернативы, если у вас включено расширение mbstring, есть также более короткий путь, предложенный ответом Гордона .Если кодировка сообщения многобайтовая, вам все равно нужно будет использовать mbstring, в противном случае символы подсчитываются неправильно.

echo mb_strimwidth($post->title, 0, 8, ' ...');
1 голос
/ 14 декабря 2010

Вы можете использовать mb_strimwidth

echo mb_strimwidth('Your Title', 0, 8, '…');

Если вы хотите обрезать границы слов, см.

0 голосов
/ 14 декабря 2010

вы можете попробовать это.

$maxlength = 8;
if (strlen($post->post_title) > $maxlength)
       echo substr($post->post_title, 0, $maxlength) . ' ...';
    else
       echo $post->post_title;

Так что теперь вам не нужно менять max char во всей строке кода.

Спасибо.

0 голосов
/ 14 декабря 2010

Вы должны сделать это в плагине, потому что если вы измените тему, изменения будут потеряны

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...