Изменения текста ссылки «Подробнее…» в анонсах статей на WordPress

При написании статей WordPress позволяет публиковать только часть статьи (анонс), для этого необходимо в любой части текста добавить условный тег <!--more-->, все, что будет находиться выше этого тега попадет в анонс. Если рассматривать переведенную тему, которая стоит по-умолчанию при установке WordPress, то мы увидим ссылку: Прочитать остальную часть записи ».

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

Чтобы изменить текст ссылки необходимо в файлах темы index.php и archive.php заменить строку (пример привожу согласно теме «default», которая устанавливается по-умолчанию на блоге WordPress):

<?php the_content(__('Read the rest of this entry »', 'kubrick')); ?>

на:

<?php the_content('Читать далее'); ?>

Теперь все ссылки в анонсах статей будут заменены на «Читать далее».

Возможно для некоторых записей вам захочется создать какую-то уникальную фразу-ссылку в анонсе на статью целиком, например: «Подробнее». Это достаточно легко сделать, просто добавьте текст ссылки в условный тег <!--more--> при редактировании записи в режиме HTML:

<!--more Подробнее-->

Если вы не собираетесь менять текст ссылки в отдельных статьях и вам достаточно ссылки «Читать далее», то можно воспользоваться еще более удобным способом, для этого в WordPress 2.8+ имеется встроенный фильтр the_content_more_link, который позволяет управлять текстом ссылки.

Как и в предыдущем примере сделаем свой текст ссылки «Читать далее». Открываем файл functions.php, находящийся в папке с нашей темой, и добавляем следующий фильтр:

add_filter( 'the_content_more_link', 'my_more_link', 10, 2 );

function my_more_link( $more_link, $more_link_text ) {
    return str_replace( $more_link_text, 'Читать далее', $more_link );
}

Сохраняем файл functions.php и теперь в анонсах статьи видим ссылку «Читать далее».

За внешний вид ссылки отвечает класс .more-link, для ее оформления необходимо добавить в основную таблицу стилей (style.css), к примеру, следующий код:

.more-link {
    background-color: #E2EEF2;
}