Как сделать уникальную ссылку тега more в wordpress
Примерно месяц назад я внес кое-какие изменения в стандартную wordpress ссылку «Читать далее…». Это та самая ссылка, которая прячет весь основной контент под «кат» при вставке в пост разделительного тега more. Раньше она у меня располагалась под анонсом поста напротив меток. Выглядело очень не красиво, не удобно для посетителя, не эффективно в плане seo.
Было решено ее изменить. Изменил. Теперь текст такой ссылки я пишу для каждого поста отдельно, включая все необходимые ключевые слова. Ссылка заключена в тег h2. И расположена сразу под анонсом поста, выглядит гораздо лучше, чем ранее.
Ну так вот, изменил я ее с месяц назад и даже не удосужился пост об этом написать. А вчера работая над новым проектом, о котором я обязательно сообщу, когда он будет готов к приему посетителей (развлекательная тематика), мне вновь понадобилось сделать такую ссылку (проект тоже на wordpress) и черт подери, я не знал как это сделать :(!
Теперь я поступлю не так опрометчиво и напишу таки пост об этом. А вдруг опять понадобится ;).
Все начинается с редактирования файла post-template.php, который находится в папке wp-includes. В этом файле есть строчка отвечающая за вид ссылки тега more (обычно 220 строка), которым мы разделяем посты при написании:
$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "#more-{$post->ID}" class="more-link">$more_link_text</a>", $more_link_text ); |
В эту строчку я добавил тег заголовка h2 (и ограничил размер шрифта в 14 пикселей), добавил к ссылке всплывающую подсказку title и убрал к чертовой бабушке абсолютно не нужную приставку к ссылке #more-xxx. В итоге получился вот такой код:
$output .= apply_filters( 'the_content_more_link', ' <h2 style="font-size:14px;"><a href="' . get_permalink() . "" title="$more_link_text" >$more_link_text</a></h2>", $more_link_text ); |
Сохраняем файл и заливаем его на сервер заменив старый. Теперь при написании поста, разделив его в нужном месте тегом <!—more—>, добавляем необходимый анкор сразу после слова more перед —>, вот таким образом:
<!--moreКак добавить на сайт статичную кнопку для google plus?--> |
Результат будет примерно таким (цвет ссылки только будет в соответствии с оформлением конкретно вашего блога):
Ну а если вдруг забудете добавить оригинальный текст к тегу, тогда в таком же стиле будет выведена ссылка с анкором «Читать далее…».
Кстати, этот стандартный анкор тоже можно изменить. Делается это в файле index.php вашей темы, именно этот файл обычно отвечает за ленту постов. В этом файле находим строчку отвечающую за вывод контента, у меня это:
<?php the_content('Читать далее →'); ?> |
Вот тут «читать далее» меняем на любой нужный нам стандартный анкор. Я написал просто «Дальше интересней ->».
Все. Быстро и эффективно :).
Удачи Вам! С наступающим Новым годом!
Сладкое на сегодня: и все это руками. Просто супер. Наслаждайтесь 🙂
а как сделать, чтобы выравнивание этой кнопки было по правой части?
В тег h2 добавьте align=»right».
[code] $output .= apply_filters( ‘the_content_more_link’, ‘ $more_link_text«, $more_link_text );
[/code]
А как отнесется поисковик к тому, что h2 со своими атрибутами, а не прописанный в css файле?
Это еще конечно предстоит выяснить, но не думаю что это как-то негативно скажется.
Ну да, h3 тоже хорошо.
А как сделать, чтобы тег был всегда на одном месте (справа), а то у меня он всегда после конца анонса, в общем некрасиво получается. Поможете?
В тег h2 добавьте align=»right».
Заключил стандартный анкор Читать далее в эти теги, помогло, спасибо!
Ну это как бы на любителя. Если на вскидку, то можно выделить пару моментов из-за которых можно немного напрячься:
1. Дополнительные заголовки привлекающие внимание пользователей. Все лучше, чем стандартное «читать далее..» под каждым анонсом.2. Дополнительное вхождение ключевых слов, которые возможно никак не вписываются в заголовок статьи.
Я лично сделать себе так «Название статьи» читать далее… Не знаю помогает ли это пользователям, но ссылка с уникальным (от части) анкором появляется. По крайней мере лучше чем куча одинаковых ссылок «Читать далее…»
Тоже вполне себе вариант.
Я вот никак не могу понять, где изменить количество текста после more уже заискался…. не подскажите где рыть?
Не совсем понимаю о чем речь. Если можно, поподробнее.
В теге h2 попробуйте добавить color, примерно вот так:
Привет)…а у меня возникла такая проблема при замене кода в post-template.php
в старых постах появилась измененная «Читать далее». Выглядит так..
→” >Читать далее →
как убрать лишнее?
Только в старых?
Да, там где я не менял more и стандартно выводилось «Читать далее»
Пришлите мне на email sergey [at] pervushin.com файл post-template.php, гляну, попробую помочь.
Хм, странно. Все у Вас в порядке. Попробуйте в loop.php вашей темы изменить
the_content( __( 'Continue reading →', 'twentyten' ) );
наthe_content('Дальше интересней →');
. Там, насколько я помню, две таких строчки. Только сохраните файл темы перед правкой, на всякий случай.Блин, дискус код режет. Отправил на email.
Там вроде также, как и здесь http://pervushin.com/tag-more-wordpress.html#comment-564924447
Не пользовался, надо будет глянуть 🙂
спасибо, получилось,только тоже поставила Н3 так как у меня заголовки на главной идут в Н2, СОБЛЮДАЕМ ИЕРАРХИЮ)))
А
Здравствуйте! У вас очень полезный сайт! Все намного понятнее, чем на других!
Помогите пожалуйста разобраться!! Я не ставила себе программу ворд пресс. Я заказала сделать сайт в одной фирмочке. Но они сделаи полупустую болванку и теперь я учусь быть создателем сайтов так как все приходится делать самой. Проблема вот в чем. Программы у меня нет, я захожу по ссылке которую они мне дали( фирма) и ввожу пароль. Соответственно я не могу ничего менять в папках wp-includes и других, так как их у меня просто нет. ЧТо можно сделать в этой ситуации? Заранее спасибо ,если найдете возможность ответить мне!
Спасибо большое!
Очень жаль, но не уверен, что смогу Вам помочь. Если wordpress не ставили, то и папок таких у Вас быть не может.
Сергей, привет. Подскажи как изменить ссылку Читать далее в теме
Twenty Eleven 1.2?
Принцип тот же, только файл шаблона там, если память не изменяет, content-single.php
Там есть такая строчка но меняя ее, ничего не меняется..
11 января 2013 г., 12:25 пользователь Disqus написал:
Ну а действия описанные в статье выше произвели?
да, действия с море работают. спасибо за статью. Хотел изменить железно чтобы, а так придется каждый раз в море одно и тоже содержание добавлять
11 января 2013 г., 17:58 пользователь Disqus написал:
Еще бы знать как сделать чтобы вместо автоматического определения размера анонса […], а именно так происходит в моем шаблоне, можно было регулировать размер самому с помощью
Здравия желаю.Не подскажите как сделать так как у вас на картинке с девушкой,думаю это будет очень по новому,если ещё с тенями поиграться в css 3))
Это всего лишь картинка 🙂
Совершенно верно, add_filter практичнее. Но статье уже не мало месяцев и тогда это был вариант).
Что касается дублирующей ссылки. Не вижу ничего страшного в этом, анкоры разные — уже неплохо). Вот дубль страницы с разными урлами (как, например, с якорем) куда страшнее.
То, что ссылка с якорем создает дубль страницы — это заблуждение.
Я так и думал, пока не увидел одну из этих ссылок в индексе Яндекса. Уж не знаю каким невероятным образом она там оказалась, но факт.
Да, действительно, невероятным. Может, это был временный глюк. Все-таки если брать общую картину, то ссылки с якорями не попадают в индекс. А еще вероятно, что это было давно, когда роботы еще не умели правильно обрабатывать такие ссылки.
Может быть…
Просто color, без font-.
Скажите, а как перенести эту кнопку в права? А то она у меня с лева и как то не смотрится.
Добавьте в тег h2: «align=»right»»
Спасибо за подсказку, сделал так:
$output .= apply_filters( ‘the_content_more_link’, ‘ ID}» class=»more-link»>Подробнее >>«, $more_link_text );
Помогите, когда перехожу на блог через вкладку «читать далее» вверх страницы открывается как то слитно — картинка подбирает под себя текст. А когда заходишь через название, то все норм, текст и картинка на своем месте, что можно с этим сделать. Сайт — http://neprezident.ru/
Спасибо огромное за пост!
У меня в шаблоне стандартным решением было просто трое точие […] я все искал где и как исправить на [ Читать далее … ]
Ваш пост помог, процветания Вам.
С Уважением, Сергей Озимков.
Полезный материл. Только почему на этом блоге, вместо индивидуальных ссылок стандартное «дальше интереснее»?)
Здравствуйте Сергей. в моей теме прописывается строка «Читать далее», но плетется в хвосте анонса — в общем не красиво. Пробую по вашему примеру и ничего не получается. При внесении изменений в файл post-template.ph, сайт выдает ошибку и приходится восстанавливать резервную копию. Пробовал несколько раз