Seo-Бизнес блог Progress-project

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

Обновлённый дизайн блога Progress-project
logotip «Progress-project»
logotip «Progress-project»

Тег more — выводим анонсы на главной странице wordpress

Здравствуйте, сегодня на «Progress-project», как я и обещал в прошлой статье посвящённой выводу миниатюр в анонсах главной страницы, мы с вами поговорим о теге more, подробно рассмотрим; как выводить анонсы статей в wordpress, какие функции за это отвечают, как поменять ненавистное многим […] на «Читать запись полностью» итд.

В настройках wordpress для отображения главной страницы мы с вами можем выбрать один из двух параметров: вывод статической страницы либо последних опубликованных нами записей. Первый вариант, как вывод статической страницы в качестве главной мы с вами сегодня рассматривать не будем а вот о последних записях поговорим поподробнее.

Тег more, вывод анонса на главной странице wordpress

Итак, прежде всего выбираем в админ-панеле нашего ресурса: «Настройки» и «Чтение», далее в самом верху открывшейся страницы указываем на отображение последних записей и чуть ниже ставим максимальное количество выводимых анонсов до разделения постраничной навигацией:

Как сделать вывод разного количества анонсов на главной странице и страничек категорий читайте здесь.

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

Почему иногда не работает тег more в wordpress

Достаточно во многих современных wordpress темах сегодня используется код функция:

<?php the_excerpt(); ?>

Которая в свою очередь направляет запросы ещё двум своим собратьям предназначенным уже непосредственно для формирования и вывода анонсов.

Если в файлах вашей темы: index.php, arhive.php и category.php, имеется упомянутая функция и при этом в соответствующем поле под постом не указанна цитата, то анонс у вас будет формироваться из первых примерно 50-и слов поста с добавлением на конце символов в виде квадратных скобок с точками: […] и это независимо от того где был и был ли вообще вами проставлен тег more о котором мы поговорим чуть ниже, как и о замене скобок на обычный текст.

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

После этого опускаемся чуть ниже статьи, где в появившимся поле пишем анонс для функции «the_excerpt»:


Тег more, определяем анонс из тела статьи

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

<?php the_content(); ?>

Чтобы нам вывести на главной странице блога анонс данным способом достаточно просто при редактировании записи вставить тег more в необходимое место в таком виде:

<!--more-->

После этого та часть разделённого вами текста, что находится выше данного тега и будет выводиться на главную страницу в качестве анонса.

Дополнительно в коде the_content, в скобках мы можем указать свой параметр, например текст анкора, как «Читать запись полностью»:

<?php the_content('Читать запись полностью &raquo;');?>

Либо это же можно сделать и в самом теге more:

<--moreЧитать запись полностью-->

Уникальные анонсы на блоге, через тег more

С помощью more можно не просто определить анонс, но и сделать его уникальным тем самым исключив любое даже частичное дублирование поста, для этого достаточно просто дополнительно добавить к тегу more ещё и тег noteaser, то есть выглядеть это будет вот так:

<!--more--><!--noteaser-->

Вставляем эти совмещённые теги в необходимое место статьи в режиме html, но учтите, что определённый нами таким образом анонс уже не будет возвращён обратно в статью, то есть после её публикации выделенная часть текста статьи будет отображаться только исключительно в анонсе главной страницы и пропадёт из записи. Поэтому для вывода цитат таким способом лучше всего создавать отдельное описание статьи, кстати если вы заметили именно так и происходит на «Прогресс-проект».

Настройка анонсов в теме wordpress

Давайте снова вернёмся к варианту современных тем где формирование и вывод анонсов происходит с помощью «the_excerpt», в виде первых попавшихся 50 слов записи.

Чтобы установить для этой функции свой собственный лимит допустимых слов в анонсе, открываем для редактирования файл темы «functions.php» и в низу до символов ?> вставляем код:

function progress_segment_length($length) {
 return 100;
}
add_filter('excerpt_length', 'progress_segment_length');

Цифру 100 меняем на любое своё количество допустимых слов в анонсе.

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

function progress_segment_more($more) {
 global $post;
 return '<a href="'. get_permalink($post->ID) . '">Читать запись полностью »</a>';
}
add_filter('excerpt_more', 'progress_segment_more');

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

Чтобы объединить возможности обоих функций рассмотренных нами сегодня в одно целое и заставить работать во благо нашего ресурса, то есть научить «the_excerpt» видеть тег more а второй в свою очередь учитывать содержимое поля цитаты добавленное нами сегодня. Необходимо первым делом добавить код-функцию всё в тот же «functions.php» следующего вида:

function progress_segment_length ($length) {
    return 100;
    }
    function progress_segment_more($more) {
    return '...';
    }

    function progress_announcement($length_callback='', $more_callback='') {
       global $post;
       add_filter('excerpt_length', $length_callback);
       add_filter('excerpt_more', $more_callback);
         $output = get_the_excerpt();
         $output = apply_filters('wptexturize', $output);
         $output = apply_filters('convert_chars', $output);
         $output = ''.$output.'';
    echo $output;
    }

Далее во всех файлах где есть функции:

<?php the_excerpt(); ?> или <?php the_content(); ?>

Меняем их на:

<?php progress_announcement('progress_segment_length','progress_segment_more'); ?>
<a href="<?php the_permalink(); ?>"><span class="more">Читать запись полностью »</span></a>

И в завершении в style.css вставляем стили для нашей новой ссылки «Читать запись полностью»:

.more {
 cursor: pointer; /* курсор в виде руки */
 padding: 8px; /* внутренние отступы */
 float: right; /* положение на странице справа*/
 margin-right: 15px; /* внешний отступ снизу */
 color:#2D89A7; /* цвет */
 font-size: 14px; /* размер шрифта */
 font-weight: bold; /* жирность */
}

Корректируем их в соответствии с внешним видом блога и на этом пожалуй на сегодня всё по поводу тега more в wordpress, подписывайтесь на обновления впереди ещё много интересного, желаю всего доброго до новых встреч!

С уважением, автор блога!
© progress-project
★Обновлено:2016-06-12

Введите свой e-mail:

Вы можете поделиться статьёй в социальных сетях:

Ваш комментарий

Внимание! Перед тем, как вставить в комментарий: html, php либо JavaScript, преобразуйте его в HTML сущность!

» Подписаться на комментарии по RSS
Поиск по блогу

Введите свой e-mail:

ВКонтакте Google+ Facebook RSS-лента сайта abrek-ad-abra.ru

Топ комментаторов

Виктор(6)
seoonly(4)
Николай(3)
Олег(3)
Иван(3)

© 2015-2017

SEO-Бизнес блог «Progress-project».

Все материалы, опубликованные на сайте: принадлежат автору и охраняются в соответствии с законодательством РФ.

При использовании материалов сайта гиперссылка на обязательна!



seo-блог