Изменяем «more» или «читать далее» в WordPress. Ссылка читать далее в WordPress (тег read more) Указал news php readmore добавить комментарий

Добрый день!

Начнем с самого начала на тот случай, если кто-то вообще ничего не знает о more.

Я не был на море.

– Ладно, не заливай, ни разу не был на море!

– Не довелось, не был…

– Уже постучались на небеса, накачались текиллой, буквально проводили себя в последний путь, а ты на море-то не побывал?!

– Не успел, не вышло…

– Не знал, что на небесах никуда без этого?

к/ф “Достучаться до небес”

Как добавить more

Так вот, какой фрагмент текста отображать в анонсе задается с помощью тега more . Этот тег разделяет статью на две части: вступительную (анонс) и продолжение.

В редакторе WordPress тег more можно вставить с помощью кнопки в панели инструментов.

1. Визуальный режим редактора:

2. Текстовый режим редактора:

В текстовом режиме, так же можно вручную разделить запись: просто напишите

А теперь важная информация, которую знают далеко не все!

Так вот, есть элементарный способ задавать каждой ссылке после анонса свой уникальный текст!

Сделать это можно, просто написав, нужный текст внутри конструкции с more. Вот так:

Спросите а зачем так делать? Еще прописывать каждый раз текст.

Честно говоря, сам такой =) Уже 84 статьи опубликовал, и только “расчехлился” по этому поводу.

Как изменить текст?

1. Первый – самый простой способ – это добавить ваш текст (обычно в index.php) в функцию the_content

2. Второй способ с использованием хука the_content_more_link . Просто добавьте следующий код в и задайте желаемый текст ссылки.

function my_more_link($more_link, $more_link_text) { return str_replace($more_link_text, "Продолжить чтение...", $more_link); } add_filter("the_content_more_link", "my_more_link", 10, 2);

Этот способ удобен тем, что вам не нужно искать по файлам шаблона, где именно у вас используется the_content (это не обязательно в index.php, может быть и content.php и что угодно.) Здесь вы работаете только в файле functions.php.

3. В третьем пункте просто сохраню для истории способ с использованием произвольного поля WordPress.

ID, "custom_more_text", true); if(!$custom_more) { $custom_more = "Продолжить чтение статьи »"; } the_content($custom_more); ?>

Вписывание текста непосредственно в , конечно же проще и понятней.

Здесь просто откорректируйте вызов функции the_content одним из двух способов.

Как убрать #more из ссылки

В коде этот якорь устанавливается таким вот способом:

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

Уникальный тег more в Вордпресс

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

В зависимости от установленной темы, данный код может находиться и в других файлах, тогда поищите его во всех остальных php-файлах темы.

Как всегда приведу несколько примеров с комментариями к коду

1. Кнопка как у меня

1 2 3 4 5 6 7 8 9 10 11 12 13 .more-link { background : none repeat scroll 0 0 #00B37C ; /*цвет фона */ border : 1px solid #62901E ; /*толщина и цвет границ */ border-radius : 5px ; /*закругленные края */ color : #FFFFFF ; /*цвет шрифта */ display : block ; font-family : verdana; font-size : 12px ; line-height : 12px ; padding : 8px 14px ; text-decoration : none ; text-transform : uppercase ; /*текст в верхнем регистре */ }

More-link { background: none repeat scroll 0 0 #00B37C; /*цвет фона */ border: 1px solid #62901E; /*толщина и цвет границ */ border-radius: 5px; /*закругленные края */ color: #FFFFFF; /*цвет шрифта */ display: block; font-family: verdana; font-size: 12px; line-height: 12px; padding: 8px 14px; text-decoration: none; text-transform: uppercase; /*текст в верхнем регистре */ }

2. Плоская кнопка

1 2 3 4 5 6 7 8 9 10 11 .more-link { background : none repeat scroll 0 0 #E81D1D ; color : #FFFFFF ; display : block ; font-family : verdana; font-size : 12px ; /*размер шрифта */ font-weight : bold ; /*жирный шрифт */ line-height : 12px ; padding : 8px 14px ; /*внутренние отступы */ text-decoration : none ; }

More-link { background: none repeat scroll 0 0 #E81D1D; color: #FFFFFF; display: block; font-family: verdana; font-size: 12px; /*размер шрифта */ font-weight: bold; /*жирный шрифт */ line-height: 12px; padding: 8px 14px; /*внутренние отступы */ text-decoration: none; }

3. Кнопка с тенью и градиентом

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 .more-link { background : linear-gradient(#DD1D1D , #A61518 ) repeat scroll 0 0 rgba (0 , 0 , 0 , 0 ) ; /*градиент */ border-radius : 4px ; box-shadow : 0 1px 2px 0 rgba (0 , 0 , 0 , 0.7 ) ; /*тень */ color : #FFFFFF ; font-size : 16px ; font-weight : bold ; height : 40px ; line-height : 40px ; text-align : center ; /*выравнивание по центру */ width : 155px ; /*ширина кнопки */ /* кроссбраузерность: */ background : -ms-linear-gradient(#DD1D1D , #A61518 ) ; /* IE10 */ background : -webkit-gradient(linear, left top , left bottom , color-stop(0% , #DD1D1D ) , color-stop(100% , #A61518 ) ) ; /* Safari 4+, Chrome 2+ */ background : -webkit-linear-gradient(#DD1D1D , #A61518 ) ; /* Safari 5.1+, Chrome 10+ */ background : -o-linear-gradient(#DD1D1D , #A61518 ) ; /* Opera 11.10 */ filter : progid: DXImageTransform.Microsoft .gradient(startColorstr= "#DD1D1D" , endColorstr= "#A61518" ) ; /* IE6 & IE7 */ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr="#DD1D1D", endColorstr="#A61518")" ; /* IE8+ */ -moz-border-radius: 4px ; /* Firefox */ -webkit-border-radius: 4px ; /* Safari, Chrome */ -khtml-border-radius: 4px ; /* KHTML */ }

More-link { background: linear-gradient(#DD1D1D, #A61518) repeat scroll 0 0 rgba(0, 0, 0, 0); /*градиент */ border-radius: 4px; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.7); /*тень */ color: #FFFFFF; font-size: 16px; font-weight: bold; height: 40px; line-height: 40px; text-align: center; /*выравнивание по центру */ width: 155px; /*ширина кнопки */ /* кроссбраузерность: */ background: -ms-linear-gradient(#DD1D1D, #A61518); /* IE10 */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #DD1D1D), color-stop(100%, #A61518)); /* Safari 4+, Chrome 2+ */ background: -webkit-linear-gradient(#DD1D1D, #A61518); /* Safari 5.1+, Chrome 10+ */ background: -o-linear-gradient(#DD1D1D, #A61518); /* Opera 11.10 */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#DD1D1D", endColorstr="#A61518"); /* IE6 & IE7 */ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr="#DD1D1D", endColorstr="#A61518")"; /* IE8+ */ -moz-border-radius: 4px; /* Firefox */ -webkit-border-radius: 4px; /* Safari, Chrome */ -khtml-border-radius: 4px; /* KHTML */ }

Стандартные анонсы записей WordPress (самообрезающиеся)

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

Отвечает за такие анонсы строчка в коде.

Как убрать стандартные анонсы записей WordPress

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

Речь пойдет не о тех цитатах, которые используются в тексте для цитирования чужих мыслей — об этом .

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

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

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

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

wp-content/themes/<имя темы>/languages/

Если это касается перевода на русский язык, то находим 2 файла:

ru-Ru.mo
ru-Ru.po

Соответственно, файлы *.po содержат переведённые строки в текстовом формате. С этими файлами работает переводчик темы. Файлы *.mo это те же строки, но в скомпилированном варианте. С этими файлами работает ядро WordPress для отображения перевода.
Так как простое внесение изменений в файл с расширением *.po не принесет желаемых глазам эффекта, то нужно понимать, что необходимо как-то скомпилировать данный файл в понятный для WordPress язык, для этого мы воспользуемся замечательной программой PoEdit , она пока свободно распостраняется, и может быть скачана с официального сайта: http://poedit.net/ После установки достаточно открыть соответствующий файл *.po

Работать с программой Poedit достаточно легко - исходный текст слева, перевод справа. Для редактирования перевода щёлкните на соответствующую строку и введите новый перевод. При сохранении, Poedit автоматически скомпилирует ваш перевод и создаст соответствующий файл *.mo После этого необходимо заменить эти два файла в папке languages .
Если WordPress установлен на русском языке, то вы сразу же увидите изменения. Если же WordPress настроен на английский язык, то следует изменить локаль в файле wp-config.php . Найдите в этом файле строку определяющая константу WPLANG и измените её:

define ( "WPLANG" , "ru_RU" ) ;

Воспользовавшись поиском находим, что в шаблоне suffusion необходимый файл content.php находится по пути /suffusion/post-formats
Открываем его и находим содержание:

$continue = __("Reading Post... »" , "suffusion" ) ;
the_content($continue ) ;

Нас должно интересовать то, что в одинарных кавычках, т.е. Reading Post… »
Да, нам понадобится еще как минимум строка, в которой эта запись существует, это необходимо для того, чтобы при компиляции CMS знала, что на что подменять (в данном случае это будет 29 строка).

Идем, и открываем файл ru-Ru.po , создаем новый код:

Далее открываем тот-же файл ru-Ru.po в программе, которую скачивали и устанавливали ранее Poedit , и через контекстное меню сохраняем изменения (которые мы внесли ранее, но при сохранении происходит компиляция файла с расширением *.mo ).
Теперь осталось самое главное, это сохранить 2 файла в директории /languages и наслаждаться русским языком.