Разделить анонс и цитату  в шаблоне WordPress

Опубликовано: 01.09.2018

Введение

В этой статье мы разделяем анонс и цитату в шаблоне WordPress, для того, чтобы в блоге последних записей выводить анонс статьи (текст до тега more), а в архивах сайта выводить заранее заданную цитату. При этом сделаем так, чтобы анонс не попадал в саму статью. Тем самым мы создадим три различных уникальных содержания: анонс, цитата, статья.

Основные понятия

Анонс – вступление к статье, от статьи отделяется тегом [more]. По умолчанию анонс виден на главной странице, страницах архивов и в самой статье.

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

Проблему дублирования анонсов я недавно поднимал в статье: Проблема дублирования WordPress.

Итак, анонс и цитата. Идея этой статьи, разделить анонс и цитату и четко сделать так, чтобы:

Анонс показывался в блоке последние записи (главная страница сайта), Цитата выводилась в архивах сайта (архив разделов, тегов, автора).

Тема статьи связана с редакцией кода шаблона, поэтому перед работой нужно сделать полную резервную копию сайта .

Часто, при заполнении цитаты, которая не обязательна, но предусмотрена в WordPress, на главной странице выводится вместо анонса цитата. Такая верстка шаблона ломает основную идею статьи: использования цитаты, как вступление в архивах сайта, а анонса, как вступление в блоге главной страницы. Дополнительная идея: исключить из текста статьи анонс и цитату.

Как разделить анонс и цитату

Цитату из статьи убирать не нужно. Я не встречал, чтобы так верстали шаблон. Другое дело, анонс статьи. Под анонсом понимаем часть статьи отделенного от основной статьи тегом [more]. Синтаксис тега:

<!--more-->

Итак, установив тег [more] вы отделяете анонс статьи. При этом, по умолчанию, анонс будет виден в блоге последних записей и одновременно будет показан в основной части статьи.

Идея этой статьи, разделить анонс, цитату и основное содержание. Тем самым, повысить уникальность сайта. При это не нужно будет закрывать в файле robots.txt от поисковиков архивы сайта и получим уникальный блок анонсов последних записей. Если учесть, что этот блог делают  главной страницы сайта, получаем уникальную главную страницу сайта. Для решения задачи, нам нужно последовательно посмотреть два файла:

Файл Архивы (archive.php): выводит архивы сайта; Файл  шаблона рубрик (category.php) – его может и не быть. Если этого файла в шаблоне нет, архив категорий выводит файл archive.php;

В файле archive.php, ищем функцию [get_template_part]. Эта функция «берет» часть шаблона с другого файла и применяет в архивах.

Покажу на примере:

get_template_part( 'content', get_post_format() );

Читаем: это значит, что в архиве будет выводится часть текста определенного в файле под названием [content].

Открываем файл [content] для дальнейшего редактирования. Для безопасности копируем файл [content] и открываем его в текстовом редакторе (например, Notepad++). В файле [content]  нам нужно найти функции [ the_excerpt() ] и [ the_content() ]. Они или она, будут после блока [head].

Важно понять идею!

Мы не будем исправлять файлы шаблона (код шаблона). Мы дополним шаблон новым файлом. Это простой способ, не требует особых знаний php и не тянет за собой целую цепочку исправлений.

Для этого:

Копию файла [content], открываем в Notepad++ и переименовываем, в файл, например [content-abc]; Функцию [the_content()] меняем на [the_excerpt()]; Сохраняем новый файл [content-abc] в формате [php]; Заливаем файл [content-abc] по FTP в каталог сайта, в папку themes/ваша_тема.

Идем в редактор административной части сайта Внешний вид→Редактор, и видим появление этого файла; Открываем файл archive.php. В той самой функции [get_template_part], которую мы нашли ранее, меняем название, в моем примере, [content] на [content-abc];

Нам удалось разделить анонс и цитату  в шаблоне WordPress. Теперь в архивах вместо анонса будут выводиться цитаты.

Важно! Шаблон может быть сверстан в сложном варианте. Автор шаблона мог разделить вывод:  архивов, категорий, тегов и т.д.  Поэтому блок категорий может выводить не файл archive.php, а файл category.php. Для примера я взял шаблон nirvana. В нем вместо стандартного набора из 18 файлов, автор создал, 40 файлов php.

Как убрать цитату и анонс из текста статьи

Осталось последнее замечание. Если хотите чтобы анонс статьи не попадал в саму статью, то отделяйте анонс не тегом <!-more->, а двойным тегом <!-more-><!-noteaser->. Об этих тегах ТУТ .

WordPress Codex

©www.wordpress-abc.ru

Другие статьи раздела: SEO оптимизация WordPress

Статьи связанные по теме:

IRC (Internet Relay Chat)
rss