Как сделать так, чтобы на главной странице сайта отображались только первые X (скажем, 300) слов поста?
Но без использования тега "more" или отрывков от руки? Я ищу плагин/хак для WP 2.9 и далее.
До сих пор я сталкивался с несколькими решениями, но надеюсь на рекомендуемое решение.
Проблемы, которые я преодолел до сих пор:
Изменить количество слов на домашней странице очень просто:
if( is_home() )
add_filter( 'excerpt_length', create_function( '', 'return 300;' ) );
Просто скопируйте этот код и измените условную проверку, чтобы добавить ее на другие страницы. Другой вариант - просто вставить код на страницу шаблона (home.php
, tag.php
и т.д.), Чтобы вы знали, что он будет установлен на правильной странице.
Использование the_excerpt()
автоматически удаляет шорткоды и html из содержимого, если не предоставлено никаких выдержек. Вы можете удалить эти фильтры, но это значительно усложняет подсчет Word при добавлении разметки в микс. Если вы хотите сохранить форматирование/текст/изображения, это то, для чего предназначен тег more
. Он вставлен вручную, потому что слишком сложно автоматически определить, во всех случаях, где должен произойти этот разрыв.
Для этого вы можете использовать Fancy Excerpt Plugin For WordPress и немного его изменить. Сохраняет стиль, делает подсчет слов. Вам просто нужно немного изменить это, чтобы иметь счетчик слов, и, возможно, если вам не нравится, чтобы многоточие также изменило окончание.
если вам просто нужны первые 300 слов контента, вы можете легко получить его с
wp_trim_words( $post->post_content, 300, '');