Intereting Posts
Хранить немодифицированный текстовый контент в базе данных Устранение неполадок с ошибкой «У вас недостаточно прав для доступа к этой странице» Есть ли способ изменить select-list для новой пользовательской таксономии? Редактирование не изменяет post_name Зарегистрировать меню с помощью «Автоматически добавлять новые страницы верхнего уровня в это меню» Изменение настраиваемого типа сообщений, созданного WooCommerce Запрос WordPress SQL JOIN Получение ошибки 502 при использовании настраиваемого фильтра сообщений Отображение сообщений в зависимости от количества комментариев и последних комментариев? Slug для стандартного сообщения post_type Показать сообщения за кварталом Где вызывать wp_enqueue_script в плагине с настраиваемым шаблоном? Как добавить пользовательскую дублируемую ссылку на сообщение или продукт? Как отслеживать, изменил ли пользователь значение поля в виджетах или нет? Получить текущее сообщение с идентификатором изображения

Как правильно показать Excerpt только в том случае, если он существует?

У меня есть следующие две функции в моей теме:

function content($limit) { global $post; $content = explode(' ', get_the_content(), $limit); if (count($content)>=$limit) { array_pop($content); $content = implode(" ",$content); $content = wp_strip_all_tags($content, true); } else { $content = implode(" ",$content); } $content = preg_replace('/\[.+\]/','', $content); $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]&gt;', $content); return $content; } function contentnoimg($limit) { global $post; $content = explode(' ', get_the_content(), $limit); if (count($content)>=$limit) { array_pop($content); $content = implode(" ",$content); $content = wp_strip_all_tags($content, true); } else { $content = implode(" ",$content); } $content = preg_replace('/(<img.+?>)/','', $content); $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]&gt;', $content); return $content; } 

И в цикле он называется так:

 <?php if ( has_post_thumbnail() ) { the_post_thumbnail( 'full', array('class'=>'post_thumbnail_common', 'alt' => get_the_title() , 'title' => get_the_title(), 'itemprop'=>'image' )); echo contentnoimg(41);} else { echo content(41); } ?> 

Я хотел бы, чтобы сайт показывал the_excerpt(); только если он существует. Если has_excerpt() отрицательный, то он должен работать, поскольку он прямо сейчас показывает содержимое get_the_content()

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

Это работает. Вероятно, у вас была синтаксическая ошибка.

 function content( $limit ) { global $post; if( has_excerpt() ){ $content = the_excerpt(); } else { $content = explode( ' ', get_the_content(), $limit ); if ( count($content) >= $limit ) { array_pop( $content ); $content = implode( " ", $content ); $content = wp_strip_all_tags( $content, true ); } else { $content = implode( " ", $content ); } $content = preg_replace( '/\[.+\]/','', $content ); $content = apply_filters( 'the_content', $content ); $content = str_replace( ']]>', ']]&gt;', $content ); } return $content; }