The excerpt wordpress не работает

the_excerpt() – выводит отрывок текущей записи в цикле

Данная функция работает только внутри цикла WordPress.

Параметров, которые можно передать в функцию, нет, именно поэтому её и нужно использовать только в цикле.

Пример

Используя функции-условные теги, выводим отрывок записей только при выводе внутри цикла только на страницах категорий, на остальных страницах – выводим контент функцией the_content():

Итак, функция работает на основе get_the_excerpt() и выводит:

  • Всё то, что в поле «Отрывок» (когда-то он назывался «Цитата») для текущей записи в цикле с применением всех действий на фильтр the_excerpt.
  • Если поле «Отрывок» не заполнено, функция будет брать контент записи и обрезать его по заданной длине, игнорируя тег , по умолчанию 55 слов, читайте тут, как изменить. В этом случае фильтры тоже никто не отменял. А ещё в конце такого отрывка добавляются символы […] , которые тоже можно изменить.

Фильтр-хук the_excerpt

Применение этого хука и задаёт отличие функции get_the_excerpt() от the_excerpt() , помимо того, что первая возвращает, а вторая выводит, и то, что в get_the_excerpt() можно передать ID поста.

Читайте также:  Как настроить мгтс через кабель

На этот хук добавляются следующие функции:

  • wptexturize() – для замены кавычек и некоторых других символов. Читайте тут, как отключить его,
  • преобразуются символы типа 🙂 в эмоджи, если это включено в настройках,
  • затем происходит замена символа & на & ,
  • функция wpautop() расставляет теги

и
на месте переносов строк,
убеждается, что в отрывке нет шорткодов, обёрнутых в

, если да, то удаляет этот тег,

  • фильтрует такие теги как и , чтобы добавить к ним атрибуты srcset , sizes и loading , которые могли не существовать на момент создания поста,
  • если сайт использует https:// , то заменяет все http:// на https:// внутри отрывка.
  • Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

    Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

    Источник

    WordPress.org

    Русский

    Не работает пагинация

    Добрый день, не работает пагинация на странице с постами, пробовал разные решения, но ничего не помогло, сайт на своей теме, дорабатывал с программистом, но он в отключке,
    менять ‘posts_per_page’=>-1 на другое значение пробовал, код на сегодняшний день:

    Буду благодарен за помощь!

    • Тема изменена 1 год, 2 месяца назад пользователем conver100 .

    Какая может быть пагинация, если ‘posts_per_page’=>-1 ?

    Я вообще не понимаю, зачем что-то изобретать, когда для вывода архива записей (всех постов) при статической главной движок делает сам, достаточно указать страницу в настройках чтения.

    Пробовал ставить значение ‘posts_per_page’=>10 — не помогло, выводит 10 постов, но не выводит кнопки пагинации, при этом на странице результата поиска, всё работает.

    При указании страницы блога в настройках wordpress, слетает вообще вся вёрстка — она, повторюсь самописная.

    • Ответ изменён 1 год, 2 месяца назад пользователем conver100 .

    Не работает и не выводится — две большие разницы.

    при этом на странице результата поиска, всё работает.

    Потому что результат поиска — список записей. А то, что Вы мучаете, судя по Template Name: Blog — одинокая статическая страница. Движок ничего не знает о том, что внутри шаблона формируется альтернативная выборка записей. Для него это одна запись типа page.

    Мой совет: используйте возможности движка. Еще раз: если главной назначена статическая страница, то другую статическую страницу можно назначить страницей записей. Всё остальное сделает wordpress.

    Мой совет: используйте возможности движка. Еще раз: если главной назначена статическая страница, то другую статическую страницу можно назначить страницей записей. Всё остальное сделает wordpress.

    Конечно это пробовал, вёрстка слетает и не устраивает вывод движком, у нас сделана нормальная вёрстка под сайт без лишней информации, т.к. это не блог, а статьи.

    Решается шаблоном, причем без лишней выборки. Ну да ладно, вам виднее на что время убивать. Удачи.

    Решается шаблоном, причем без лишней выборки. Ну да ладно, вам виднее на что время убивать. Удачи.

    Если кто-то может помочь конкретным советом, буду благодарен.

    • Ответ изменён 1 год, 2 месяца назад пользователем conver100 .

    Источник

    Не могу понять, почему не работает цикл wordpress?

    Я только начинаю учиться верстать под wp. Подскажите пожалуйста, почему не работает цикл выведения постов и кнопка «Читать далее» перехода на полный пост.
    Вот код:

    • Вопрос задан более трёх лет назад
    • 895 просмотров

    Оценить 3 комментария

    Если лень разбираться с иерархией шаблонов, коротко раскажу как сделать шаблон без этого. Для начала надо придумать какой будет структура шаблона, пускай это будет, как написано в комментариях это 2 различных типа данных + index.php:

    • Основной файл шаблона index.php
    • Статическая домашняя страница
    • Страница с циклом вывода всех записей блога

    и структура файлов в шаблоне будет такая:

    • /index.php
    • /template_parts/home_page.php
    • /template_parts/blog_archive.php
    • /template_parts/blog_single.php
    • /template_parts/main_header.php
    • /template_parts/main_footer.php

    index.php:

    blog_single.php и home_page.php:

    Один раз написав шаблон «с нуля» Вы будете знать как работает каждая строчка кода и проблем больше не будет.

    Источник

    Excerpts

    Excerpts are optional hand-crafted summaries of your content.

    Table of Contents

    Excerpts are ideal for creating one to two sentence descriptions of the content on a page or post. These excerpts can be used by different themes as a preview, in place of showing the full post or page content.

    To find a list of all themes supporting excerpts by default, click here.

    Examples of places where excerpts may show, depending on your theme:

    • Search results
    • Blog Page
    • Portfolio Page
    • Featured Content on the Homepage

    Some shortcode, like the Display Posts shortcode, also offers a include_excerpt argument that will use the excerpt text you’ve created.

    Excerpts are also often picked up by social networks and search engines to be used as the meta description for that page or post.

    The text you enter as an excerpt will not show on the individual post or page itself. It will only show on designated pages or search results.

    Take into account that not all themes support excerpts. You can consider using More Blocks as another solution.

    Default Settings

    In most cases, by default, your site will show the full content of each blog wherever your theme displays content previews (such as your posts page, portfolio page, etc).

    The theme in the following screenshots is called Baskerville 2.

    In both cases, clicking on the post title will take the visitor to the full blog post.

    In some themes, the posts page is already designed to only show the first few sentences of a post. Perennial is an example of this. Your post excerpt will take over for the summary on the posts page.

    Create an Excerpt

    1. Edit any post or page.
    2. Under the Post/ Page settings on the right of the editor click on Excerpt.
    3. Type your short excerpt.
    4. Publish your page or post.

    Styling an Excerpt

    Very basic HTML can be used to style how the excerpt looks. A few examples include:

    Makes the text bold.

    Creates a link. For example, if your theme doesn’t include a “Read More” you can insert the public address of the page the excerpt is for to create your own Read More option. You could also create a “Read More” option by using the instructions here.

    Creates a line break between two blocks of text.

    Example of HTML formatting:

    Troubleshooting and FAQ

    Check in your Customizer for Content Options or a similar section. Your theme may have a setting under Content Options for Blog Display that is set to show a Full post by default. If so, change it to Post excerpt and Publish your changes.

    If this does not resolve the issue, bear in mind that not all themes support excerpts. Browse through the themes that support excerpts here. Or, you can use the More Block instead.

    Versatile plans and pricing

    Best for students

    Personal

    Best for hobbyists

    Premium

    Best for freelancers

    Business

    Best for small businesses

    Still confused?
    Help us improve:

    We’re always looking to improve our documentation. If this page didn’t answer your question or left you wanting more, let us know! We love hearing your feedback. For support, please use the forums or contact support form. Thanks!

    Источник

    SEO Маяк

    Блог Виталия Кириллова | Все о создании,
    продвижении сайтов и заработке в интернете

    Создание и продвижение сайтов, заработок в интернете

    Как правильно выводить анонсы статей на WordPress. Теги more и the_excerpt

    Всем привет! Сегодня на SEO Маяк я буду рассказывать о том как, правильно выводить анонсы статей на WordPress. О том, какие теги отвечают за их формирование и вывод на страницы, а также постараюсь подробно разъяснить, как вообще все это дело работает.

    Вроде бы, чего нового можно здесь сказать, ведь в сети полно статей о теге more, да и тег the_excerpt довольно подробно описан.

    Но как я понял из писем читателей, далеко не все до конца понимают, по каким принципам строится работа вышеперечисленных функций WordPress.

    За последнее время, в мой адрес поступило много просьб рассказать о том, как убрать злополучные […] на конце анонсов статей и заменить их на привычные: «Читать далее», «Читать полностью» или объяснить почему не работает тег more и т.д.

    Вот я и решил написать этот пост, в помощь моим читателям и всем начинающим веб-мастерам.

    А если Вы дочитаете статью до конца, то узнаете как подружит теги more и the_excerpt и как организовать их совместное использование.

    А начну я, как не странно, с мифов про тег more, которыми полна поисковая выдача. Поехали!

    Мифы о теге more

    Миф №1. Тег more создает дубли страниц.

    Мне не раз задавали вопросы, типа — как избавиться или чем заменить тег more, чтобы он не создавал дубли страниц.

    Полная чушь! Тег more является обычным якорем и создавать дубли он в принципе не может. Если следовать логике вопроса, то все якорные ссылки на сайте создают дубли. У меня на блоге около 40 — 60 якорных ссылок, конечно не считая самого more. Это что получается, все страницы, на которые ведут данные ссылки — дубли? Смех да и только.

    Миф №2. Ключевые слова в теге more способствуют продвижению.

    Бродя по просторам всемирной паутины я не раз встречал сайты, на которых вместо общепринятых анкоров тега more, таких как: «Далее», «Читать Далее» или «Читать полностью», используются анкоры, содержащие ключевые слова.

    В HTML режиме редактора WordPress это выглядит так:

    При виде сей «seo-карикатуры», у меня всегда появлялась улыбка на лице и я даже испытывал некоторое сочувствие к веб-мастерам, которые не жалея своего труда и времени, вписывали ключи в тег more.

    Я даже одной девушке веб-мастерице написал в комментариях о бесполезности сего метода продвижения, на что мне был дан весьма развернутый ответ с упором на мою бестолковость. Я не стал больше ничего писать, но хотелось бы ей сказать следующее:

    «Девушка, а вы давно заглядывали в файл robots.txt вашего ресурса? А ведь у Вас там стоят запреты на индексацию: категорий, постраничной навигации, архивов и т.д.»

    Очень даже правильные директивы, призванные на борьбу с частичными дублями контента. Но тогда какой смысл писать ключи на страницах запрещенных к индексации? Продолжать не буду. Идем дальше.

    Тег the_excerpt()

    Наверное некоторые начинающие веб-мастера даже не подозревают о существовании тега the_excerpt.

    И что это за тег такой, ведь нет такой кнопки в стандартном редакторе WordPress? Как он тогда выводит анонсы статей?

    Примерно такими вопросами я озадачился, когда в свое время первый раз столкнулся с использованием в шаблоне тега the_excerpt.

    Как строится работа данной функции? Допустим, в моей теме для вывода анонсов используется тег the_excerpt. В файлах шаблона, таких как: index.php, category.php, arhive.php и т.д, он будет выглядеть так:

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

    Я написал статью и опубликовал ее, конечно не забыв поставить тег more в нужное место. Что в данном случаи происходит… Тег the_excerpt() отправляет запрос в свой «центр управления», который находиться по адресу /wp-includes/post-template.php.

    Центр управления принимает сигнал, обрабатывает его, проверяет его на наличие дополнительных директив от файла funtions.php и если таковых нет, то дает указание WordPress вывести анонс длиной в 55 слов.

    Стоп! Почему 55 слов? Я ведь поставил тег more на 5 абзаце и в анонсе должно быть не 55 слов, а как минимум 100?

    Дело в том, что функция the_excerpt() игнорирует тег more, так сказать, он для нее не авторитет и руководствуясь своими собственными соображениями, которые заложены в функцию по умолчанию, выводит анонс в 55 слов.

    При этом в самом конце она обязательно проставляет свой «фирменный знак», в виде […], а такие привычные и приятные глазу «Читать далее» или Читать полностью» просто исчезают в небытие.

    Злой какой-то этот тег и «Мама» его тоже злая! Но на самом деле тег the_excerpt вовсе не злой, а призван он выполнять самые благие функции, просто его неправильно используют.

    Внимание ! Тег the_excerpt способен выводить уникальные анонсы статей!

    Как это так? Разве такое возможно? Он что сам анонсы пишет?

    Конечно ничего он не пишет. Вернемся к тому моменту, когда я опубликовал новенький пост.

    Итак, тег отослал сигнал в свой центр управления, последний, обрабатывая данные, в первую очередь проверяет статью на наличие цитаты и если такой нет, то только после того он запрашивает дополнительные сведения из файла functions.php, а если и там пусто, то функции ничего не остается, как вывести анонс по заложенным по умолчанию в нее параметрам.

    Как с помощью тега the_excerpt вывести уникальные анонсы статей

    Тег the_excerpt действительно способен выводить уникальные анонсы статей. Давайте разберемся как это дело реализовать.

    Открываем любую запись, в самом верху страницы жмем на вкладку «Настройки экрана» и ставим галочку возле пункта «Цитата»:

    После проведенных манипуляций, ниже редактора должен появится новый раздел:

    В появившиеся поле вписываем краткое описание статьи или любой другой уникальный текст.

    И вот оно счастье! Анонс стал полностью уникальным! SEO торжествует!

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

    Теперь вернемся к мифу №2. Я там описывал историю с добавлением ключевых слов в тег more.

    Так вот, если в качестве главной на блоге использовать статическую страницу и в файле robots.txt разрешить индексацию категорий, то при использовании тега the_excerpt, в поле цитаты можно вставлять ссылки с уникальными анкорами-ключами, ведущими на саму запись.

    Вот такой способ внутренней перелинковки вполне оправдан. Идем дальше.

    Тег the_content() и его производная — тег more

    Мы тут все говорили про тег more, а оказывается это просто производная от другого тега?

    Давайте об всем по порядку. Тег the_content используется в файлах шаблона, аналогично тегу the_excerpt , но в отличии от последнего, имеет своего «агента» в редакторе WordPress — more. Попробую дать более развернутое определение.

    Допустим, в моем шаблоне используется тег the_content, в файлах он прописывается следующим образом:

    В скобках также могут указываться дополнительные параметры, в том числе анкор «Читать полностью», который будет выводить тег more. Например:

    Об других параметрах the_content я расскажу в будущих статьях, посвященных непосредственно тегам шаблона.

    Итак, я написал статью, поставил тег more в нужном мне месте и нажал кнопочку — «Опубликовать». Что происходит в этот момент в глубине «сознания» WordPress?

    Если объяснять человеческим языком, то сей процесс со стороны будет выглядеть так:

    Тег the_content, при виде нового текста, тут же отправляет срочную депешу своему начальнику, а именно функции the_content(), что находиться по знакомому нам адресу /wp-includes/post-template.php.

    Функция the_content(), в свою очередь, делает контрольный звонок генеральному директору — функции get_the_content().

    Генеральный быстренько проверяет данные по своим каналам и убедившись во второстепенном характере поступившей информации, оставляет принятие решения за нижестоящей инстанцией.

    Функция the_content(), руководствуясь своими инструкциям, дает команду тегу the_content, вывести в качестве анонса тот участок текста, на который указал «агент» more. Просто шпионские страсти какие-то.

    Внимание ! Функция the_content() не видит цитаты и не выводит их в качестве анонсов!

    Вроде бы все понятно, но любители политических детективов наверняка бы заметили, что в вышеприведенной цепочке движения информации, недостает одной маленькой детали.

    По каким это это своим каналам, генеральная функция get_the_content() проверяла поступившие данные?

    Как вывести уникальный анонс статьи с помощью тега more

    Конечно основным информатором функции get_the_content() является файл functions.php , что расположен в корне шаблона и о возможностях которого, я расскажу в самом конце статьи.

    Но допустим основной информатор не располагает какими-то нибыло важными сведениями. Где тогда «Маме» брать нужную информацию? Неужели детективная история на этом просто заканчивается?

    В большинстве случаев так и происходит. Сигнал от тега the_content, пройдя по цепочке, возвращается к нему с указаниями вывести анонс по линии обрыва и все! Основная масса блогов работает именно по такой схеме.

    Но развязка может быть совершенно иной, если в игру вступит еще один секретный агент, который подчиняется напрямую «Маме» и скрывается под псевдонимом — тег noteaser.

    Уверен! Многие веб-мастера даже не слышали о существовании такого тега, но он есть и призван помогать тегу more в выполнении очень интересного задания, а именно — выводить уникальные анонсы записей.

    Давайте я не буду тянуть и расскажу как это реализовать, тем более, что сложного в этом, ну вообще, ничего нет.

    Возвращаемся к тому моменту, когда я написал статью и в нужном месте поставил тег more. Итак, для того чтобы анонс был уникальным, надо к тегу more добавить тег noteaser.

    В HTML режиме редактора WordPress, сия конструкция должна выглядеть так:

    Что происходит в этом случаи? Как тег noteaser делает анонс уникальным?

    Дело в том, что тег more выводит анонс по линии обрыва, а тег noteaser запрещает тексту анонса возвращаться обратно в статью. Т.е, участок текста, что попал в анонс становиться на 100% уникальным, так как он уже не будет повторятся на странице с записью. Вот такая история получается!

    На заметку ! В некоторых случаях, для вывода анонсов записей, используется еще один тег — the_content_rss.

    В фалах шаблона он выглядит так:

    Который работает по схожему принципу с тегом the_content, но в отличии от последнего, в качестве обработчика сигнала использует фильтр apply_filters(), что находится по адресу /wp-includes/plugin.php.

    Применяется тег the_content_rss в основном для вывода RSS ленты, но в некоторых шаблонах используется для вывода анонсов. Наглядный пример работы тега the_content_rss я приводил в статье, о способах вывода миниатюр на главной странице.

    Наверное пришло время рассказать, какими возможностями обладает файл functions.php и как он может помочь нам с выводом анонсов статей.

    Как настроить вывод анонсов в файле functions.php

    Итак, если в Вашем шаблоне за вывод анонсов отвечает тег the_excerpt, то в файле functions.php для него можно прописать корректировочную функцию, в которой указать желаемое количество слов до обрыва записи.

    Выглядеть функция будет следующим образом:

    Где цифра 20 — количество слов до обрыва.

    Также можно изменить пресловутую конструкцию […], которую тег the_excerpt создает в конце анонса и заменить ее на что-то более симпатичное, например на французскую кавычку,

    Для этого в файл functions.php вставляем такую функцию:

    Теперь вместо […] появится такой символ »

    Можно использовать любые символы из таблицы Юникода на Ваше усмотрение.

    Давайте пойдем еще дальше и заставим тег the_excerpt выводит в анонсе ссылку с анкором «Читать полностью »»:

    Ну а теперь кульминация поста!

    Как подружить тег the_excerpt и тег more

    Для того, чтобы тег the_excerpt наконец признал существование тега more и учитывал его при обрыве контента, а тег море стал видеть цитаты, надо в файл functions.php надо вставить следующую функцию:

    Затем, открываем файлы шаблона, где прописаны теги the_excerpt или the_content и в место них вставляем такой код:

    Далее, открываем файл style.css и вписываем в него стили для класса mayak-more . Данный класс я специально задал для анкора «Читать полностью», чтобы управлять его внешним видом и позиционированием на странице:

    И все же, чего мы добьемся померив эти два тега?

    1. Как я уже сказал, функция the_excerpt() будет учитывать тег more Т.е. при написании статьи мы можем по прежнему вставлять тег more в нужное место и обрыв статьи будет происходить ровно по этой строчке или абзацу.

    2. Функция the_excerpt() включится в том случаи, если до тега more будет меньше слов, чем указанно в настройках функции:

    Из этого следует, что в случаи, если мы забудем поставить тег more, то обрыв записи все равно произойдет, но уже по сигналу тега the_excerpt и при этом останется ссылка «Читать полностью». Вот видите, как два неприменимых тега могут работать вместе и при этом подстраховывая друг друга.

    3. Для вывода анонсов мы можем использовать цитаты.

    P.S. Анонсы статей являются важной составляющей продвижения любого проекта на WordPress и важно знать, как правильно использовать теги more и the_excerpt

    С уважением, Виталий Кириллов

    Источник

    Оцените статью