Получите ограниченную текстовую выдержку из сообщения WordPress?

Я использую The Loop на моей собственной веб-странице, чтобы получить последние три сообщения из WP.

<?php $args = array( 'numberposts' => 3 ); $myposts = get_posts( $args ); foreach( $myposts as $post ) : setup_postdata($post); ?> <!-- DATE --> <div class="date"> <?php the_time('m F Y');?> </div> <!-- TITLE --> <div class="title"> <?php the_title(); ?> </div> <!-- SNIPPET --> <div class="content"> <?php the_excerpt(); ?> </div> <?php endforeach; ?> 

Все работает нормально – кроме the_excerpt() . Мне нужно около 15-20 слов простого текста из сообщения, чтобы показать его как предварительный просмотр. Как мне это сделать?

Благодаря 🙂

Вы можете попробовать использовать что-то вроде этого, чтобы захватить первые 20 слов сообщения, если нет отрывки.

 $content = get_the_content(); echo substr($content, 0, 20); 

Избегайте использования substr. Зачем?

Если вы используете substr() , он может обрезать конечный HTML-тег (ы) и вернуть неверный HTML.

Не изобретайте колесо!

В WordPress 3.3 появилась новая основная функция wp_trim_words() .

wp_trim_words Параметр Break Down:

 wp_trim_words($text, $num_words, $more); 

 $text (string) (required) Text to trim Default: None $num_words (integer) (optional) Number of words Default: 55 $more (string) (optional) What to append if $text needs to be trimmed. Default: '…' 

Примеры использования:

 <?php echo wp_trim_words(get_the_content(), 40, '...'); ?> <?php echo wp_trim_words(get_the_excerpt(), 20, '... read more...'); ?> 

попробуй это :

Сообщение содержит изображения:

 $content = get_the_content(); $content = apply_filters('the_content', $content); $content = str_replace(']]>',']]&gt;', $content); echo substr(strip_tags($content),0,100); 

и без изображений:

  $content = get_the_content(); echo substr($content, 0, 25); 

Поместите этот код в functions.php

 function new_excerpt_length($length) { return 20;} add_filter('excerpt_length', 'new_excerpt_length'); 

И просто вызовите эту функцию со страницы шаблона или файла index.php

 the_excerpt();