Как обрезать текст в кастомного поста wordpress?

В общем вывожу я в слайдере кастомные посты "Семинары", нужно выводить заговолок и отрывок. Но отрывок нужно обрезать до нужной длины что бы все выглядело красиво. Вывод отрывка делаю через функцию the_excerpt()
Выводится все, полностью весь отрывок.

Питался сделать обрезку его, но ничего не получается, функция не работает.

Вот код вывода
global $post;

$myposts = get_posts( [
	'posts_per_page' => 6,
	'post_type' => 'seminare',
] );

foreach( $myposts as $post ){
	setup_postdata( $post );
	?>
                    <div class="event_item">
                        <div class="event_item-wrapper">
                            <strong class="event_item-category">Seminare</strong>
                            <p class="event_item-title"><?php the_title(); ?></p>
                            <p class="event_item-description">
                            <?php the_excerpt();?>
                            </p>

                            <div class="event_item-event-data">
                                <div class="icon-wrap">
                                    <span class="icon-calendar"></span>
                                </div>
                                <span class="text">01.12.2019</span>
                            </div>

                        </div>
                        <a href="<?php the_permalink(); ?>" class="btn active">Weiterlesen</a>
                    </div>


Функия для обрезки:
function custom_excerpt_length( $length ) {
    return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );


Подскажите как решить проблемку(
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
Этот фильтр работает только с автоматически созданными отрывками, отрывки которые введены в поле он не трогает.
Добавьте вот такой фильтр, он поможет
function trim_custom_excerpt( $excerpt ) {

		if ( has_excerpt() ) {
			$excerpt = wp_trim_words( get_the_excerpt(), apply_filters( "excerpt_length", 55 ) );
		}

		return $excerpt;
	}

	add_filter( "the_excerpt", "trim_custom_excerpt", 999 );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы