Как динамически ограничить wordpress the_excerpt()

#wordpress #limit

#wordpress #ограничение

Вопрос:

Я пытаюсь ограничить выдержку из поста WordPress, и я пробовал несколько способов сделать это, но все они были не тем, что мне нужно, короче говоря, я хочу ограничить выдержку из поста числом, которое я использую везде с различиями.

Например, мне нужно сделать что-то, что я использую следующим образом: <?php the_excerpt('30') ?> в этой части кода я хочу ограничить свой отрывок 30 символами, а в другом месте я хочу использовать другое значение, например: <?php the_excerpt('150') ?> Это в WordPress?

Ответ №1:

Вы можете сократить выдержку чем-то вроде этого:

 function shorten( $s, $num, $dots ) {
        if ( $num < mb_strlen( $s ) ) {
            $fs = mb_substr( $s, 0, $num );

            for ( $i = mb_strlen( $fs ); $i >= 0; $i -- ) {
                if ( mb_substr( $fs, $i, 1 ) == ' ' ) {
                    return mb_substr( $fs, 0, $i   1 ) . $dots;
                }
            }

            return $fs . $dots;

        } else {
            return $s;
        }
    }
  

Затем вы можете вызвать это так: shorten(get_the_excerpt(), 40, '...') (заменив точки чем-то другим или ничем, если хотите).

(Источник)