Заработок в интернете, обзор партнерских программ, гэмблинг.

Как убрать тег #more в wordpress

Добавлено | Июнь 6, 2012 | 58 комментариев

Теги в worpress и дубли

Многие наверняка замечали, что при разделении поста на две части, короткую и полную появляется кнопка — Read more (Читать далее), так вот, при клике на эту ссылку, открывается страница с атрибутом на конце — /#more (см. скриншот).

Многим такое дело не нравится, в том числе и мне. Дублей этот тег не делает, но все же как-то не эстетично, поэтому я расскажу вам как убрать тег #more в wordpress, а все очень просто.

1 способ:

Для того, чтобы убрать тег #more в ссылке на полный текст записи нужно отредактировать файл /wp-includes/post-template.php в директории wordpress. В этом файле нужно найти строку, где формируется ссылку на полную новость и вставляется как раз таки этот тег #more:

Посмотрел в своем WordPress, это 220 строка:

1
2
3
4
5
 else {
			if ( ! empty($more_link_text) )
				$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "#more-{$post->ID}\" class=\"more-link\">$more_link_text</a>", $more_link_text );
			$output = force_balance_tags($output);
		}

See more как удалить

Для того, чтобы убрать #more удаляем только more-{$post->ID}, без ковычек и слеша \, так что получится:

1
$output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "\"

— примерно так.

2 способ:

Добавить в functions.php в конец файла следующий код:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
	function remove_more_tags($link) {
	    $offset = strpos($link, '#more-');
	    if ($offset) {
	        $end = strpos($link, '"',$offset);
	    }
	    if ($end) {
	        $link = substr_replace($link, '', $offset, $end-$offset);
	    }
	    return $link;
	}
	add_filter('the_content_more_link', 'remove_more_tags');
	?>

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

Все два способа прекрасно работают! Удачного блоговедения 😉

Чтобы получать актуальную информацию не забывайте подписываться на мою RSS рассылку!

Блог находят по запросам:

Комментарии

58 комментариев для “Как убрать тег #more в wordpress”

  1. Виктор Чулков
    Июнь 17th, 2012 @ 13:45

    Спасибо помог второй способ! Действительно удобно 🙂

  2. snegovik
    Июнь 22nd, 2012 @ 20:46

    Я тоже этот тег убираю.
    И я думаю он всё таки делает дубль
    Ведь
    сайт.ру/новость.нтм
    сайт.ру/новость#more-2575
    разные адреса одной страници.

  3. admin
    Июнь 23rd, 2012 @ 00:44

    Нет, это не разные адреса, # лишь указывает на определенное место на странице, дубли такая ссылка не делает, но все равно, как-то не красиво с ней, лучше без нее =)

  4. snegovik
    Июнь 25th, 2012 @ 19:33

    Понятно.Я просто недавно начал пользоваться вордпресом, скорее больше для саморазвития,в основном пользуюсь ДЛЕ.
    С тегом more,разобрались. А вот, как убрать вообще эту ссылку «Подробней» или «Далее».Ведь по сути это лишнии внутреннии ссылки, с ненужным анкором.В ДЛЕ это просто, а тут пробовал ничего не получилось.

  5. admin
    Июнь 25th, 2012 @ 20:22

    Ну, можно не ставить тег more на странице, и тогда ее не будет, а если уже шаблон сам разделяет пост на 2 части, то в файле index.php просто убираем соответствующий код и в function.php там нужно на место смотреть.

  6. snegovik
    Июнь 25th, 2012 @ 20:48

    Я,имел ввиду, именно ситуацию когда тег море ставим, но что бы ссылка на новость не выводилась.

  7. admin
    Июнь 26th, 2012 @ 00:02

    А… ну это надо посмотреть, думаю так можно легко сделать, в коде просто убрать ссылку.

  8. виктор
    Июль 9th, 2012 @ 09:19

    У меня такая задача, убрать этот [далее] из анонсов, при использовании «поиска» по сайту. В этом случае выводятся анонсы с этим [далее], и никак их убрать не могу

  9. admin
    Июль 9th, 2012 @ 12:34

    Смотрите страницы шаблона — (search.php)

  10. Алексей
    Август 11th, 2012 @ 18:42

    Спасибо большое, помогло. Использовал 2ой способ

  11. Kub4eg
    Август 27th, 2012 @ 23:45

    Спасибо за статью, пригодилась)Второй способ действительно проще

  12. Иван
    Октябрь 5th, 2012 @ 22:25

    Не работает ни первый ни второй способ, #more так и добавляется в конце страницы

  13. admin
    Октябрь 6th, 2012 @ 19:02

    Значит что-то не так сделали… способы работаю, проверьет внимательней, все ли удалили и то удалили что нужно? Проверял лично, да и выше ребята отписывались о работоспосмобности.

  14. Алексей
    Октябрь 11th, 2012 @ 15:21

    Огромное спасибо за второй способ, очень удобно, сделал и забыл, благодарю!

  15. Влад
    Октябрь 20th, 2012 @ 02:44

    Автору + 1, большое человеческое спасибо!

  16. Владимир Лыга
    Ноябрь 2nd, 2012 @ 18:40

    Саша, благодарю Вас за замечательную статью! Замечательный блог. Много полезной информации.Мой респект!

  17. alexgautama
    Ноябрь 4th, 2012 @ 12:48

    Нихера не работает, тему еще хуже испортил.

  18. admin
    Ноябрь 4th, 2012 @ 12:59

    alexgautama
    ЧТо именно не работает? Попробуйте второй способ. Если что напишите в асю, помогу.

  19. Татьяна
    Декабрь 2nd, 2012 @ 11:18

    А с помощью плагина All in seo pack можно это убрать, просто боьсь с кодами связываться?

  20. admin
    Декабрь 4th, 2012 @ 15:24

    С плагином вряд ли можно, не бойтесь с кодом работать, тут нет ничего страшного.

  21. Мария
    Январь 30th, 2013 @ 21:58

    Спасибо! Помог второй способ. Так все просто оказалось 🙂

  22. Александр
    Январь 30th, 2013 @ 22:43

    здравствуйте!

    мне нужно было убрать тег #more со статей.
    решил воспользоваться вторым способом приведенным в статье
    http://seomoneymaker.ru/wordpress/kak-ubrat-teg-more-v-wordpress.html
    в консоли — внешний вид -редактор
    нашел файл functions.php
    в самом конце вставил код и сохранил.
    все сайт больше не открывается
    пытался переписать это же файл на хостинге, я его заранее сохранил в блокноте на всякий случай, но увы безрезультатно
    грузится страничка с надписью

    Parse error: syntax error, unexpected ‘<' in /home/users2/m/modelni/domains/damlm.ru/wp-includes/functions.php on line 3861

    что делать?
    срочно нужна ваша помощь

    контактов с вами нет

  23. admin
    Январь 31st, 2013 @ 00:29

    Александр, есть страничка — Связь, а так можете написать мне в асю 348 55 77 09

  24. Александр
    Январь 31st, 2013 @ 14:47

    спасибо модератору
    с его помощью восстановил файл function.php
    этих файлов у меня оказалось 2 штуки
    основной и в папке с темой

    второй способ у меня не пошел
    буду пробовать первый

  25. Александр
    Январь 31st, 2013 @ 14:58

    Отлично!
    Первый способ у меня заработал.

    ВАЖНО!
    Сохраняйте файлы к себе на комп перед внесением изменений — на случай отката

  26. Admirus
    Февраль 5th, 2013 @ 21:32

    у меня на сайте все по прежнему в конце выдает это more

  27. Kamal
    Февраль 7th, 2013 @ 02:56

    Спасибо дорогой. Всё получилось.

  28. orator
    Февраль 12th, 2013 @ 05:11

    А что делать если ни один из способов не убрал #more?

  29. admin
    Февраль 12th, 2013 @ 18:05

    Внимательно смотреть и пробовать еще раз.

  30. orator
    Февраль 13th, 2013 @ 06:47

    Я уже много раз пробовал. Все сделано как Вы показываете.

  31. Сергей
    Февраль 13th, 2013 @ 08:16

    Не могу убрать more. Ничего не помогает. Может надо отредактировать еще какой то файл? Например в моей теме в файле post.php есть строчка — <a href="#more-«

  32. Виталий
    Март 27th, 2013 @ 05:57

    А у меня по второму способу получилось только когда указанный код прописал без

  33. Ольга
    Март 31st, 2013 @ 14:33

    Здравствуйте, Александр! У меня возникли проблемы при попытке убрать тег по второму способу, теперь сайт не открывается, и я не могу войти в админ. Пыталась связаться с Вами по форме обратной связи, сообщение не отправляется, ошибку выдает.

  34. Сергей
    Апрель 1st, 2013 @ 22:51

    По второму способу.

    Вставляем вышеприведенный код через админ-панель без:

    То есть без 1 и 13 строки, только саму функцию.

    Ольга, чтобы восстановить файл, откройте его через хостинг, пролистайте вниз и удалите этот код.

  35. Саша
    Апрель 14th, 2013 @ 13:49

    А у меня нихрена не получилось ни первым способом ни вторым. Админ помоги что делать?

  36. Сергей
    Апрель 16th, 2013 @ 03:28

    +1 Респект 2-му способу. Вставил и забыл.

  37. Игорь
    Апрель 22nd, 2013 @ 23:02

    Это было познавательно

  38. Виталий
    Апрель 28th, 2013 @ 18:44

    Я тег php, во втором способе убрал и получилось.

  39. Денис
    Май 8th, 2013 @ 04:15

    Cпасибо вам огромное,чтобы я без вас делал!!!Столько искал необходимой информации и тут ваш сайт,да вы мне жизнь спасли!)

  40. Оскар
    Май 25th, 2013 @ 13:55

    Спасибо Вам большое админ! Очень хорошо написали — просто и доходчиво. Я использовал первый способ — все отлично работает!

  41. Сергей
    Февраль 7th, 2014 @ 16:23

    Спасибо за полезную статью — как удалить teg-more в ВП. Сейчас смотрится намного лучше!

  42. марина
    Март 11th, 2014 @ 17:56

    Вопрос: Fвтоматически уйдут все #more на уже написанных статьях или только на новые статьи т к у меня не сработал 2 варинат, первый не пробовала.

  43. admin
    Март 11th, 2014 @ 19:01

    Уйдут море со всех страниц. Второй способ должен работать без проблем.

  44. Far
    Апрель 10th, 2014 @ 01:32

    Spasibo ogromnoe. Respect avtoru. Ochen’ poleznaya vesh’. Proshu prosheniya za latinskie bukvi.

  45. Андрей
    Январь 7th, 2015 @ 16:51

    Проверил второй способ, работает на ура.
    Только первая строка в приведенном коде (имею ввиду <?php) лишнее. Я добавил код функции в файл functions.php через админ-панель блога.

  46. Михаил
    Апрель 6th, 2015 @ 23:17

    Скажите, а если использовать 2й способ, то это не усложнит код? Ведь там уже есть, функция которая отвечает за тег more. Может быть ее как нибудь отредактировать?

  47. Rumblovich
    Апрель 22nd, 2015 @ 23:20

    Первый способ уж совсем какой-то не рациональный. Обновил WP, и придётся выполнять процедуру заново. А так вставил код, и не паришься. Кстати, спасибо. Коды с других блогов почему-то не помогали, а с твоим всё работает. 🙂

  48. Андрей
    Август 28th, 2015 @ 10:12

    Здравствуйте, я испробовал оба варианта но изменений не произошло, read more остался неизменным, в чем причина?

  49. Витос
    Сентябрь 2nd, 2015 @ 21:19

    Все облазил нет такого кода?

  50. Ирина
    Сентябрь 18th, 2015 @ 21:06

    После второго способа сайт стал недоступен, что делать?

  51. Ирина
    Сентябрь 18th, 2015 @ 22:16

    Я все исправила, но нужно предупреждать, что ваш код подходит не для всех

  52. Ирина
    Сентябрь 19th, 2015 @ 12:18

    1 способ помог, не такой уж он и сложный. Лучше уж повторить его несколько раз, в моем случае второй способ ломает шаблон

  53. Дмитрий
    Октябрь 4th, 2015 @ 21:11

    Очень прикольно!!! Все сделал, настроил движок и т.д.. Времени уйму потратил, так как новичек я в этом, сейчас смотрю все по прежнему…Оказывается у меня вордпресс автоматически обновился и все стало опять как было до этого :((( Вот такие вот дела!

  54. Vlad
    Октябрь 7th, 2015 @ 09:21

    Если не помогает ни первый ни второй способ, то скорее всего у вас обрезание анонса осуществляется не через вставку more, а автоматически, через определенное количество символов или слов. В этом случае нужно в папке с темой открыть файл post.php и убрать #more-

  55. ира
    Июль 2nd, 2016 @ 09:19

    Спасибо!!!!!!!!Все отлично работает по 2 способу.

  56. New healthy man
    Ноябрь 12th, 2016 @ 01:32

    Truly, such a helpful site. http://bit.ly/2f0xJ92

  57. Pavlo
    Январь 13th, 2017 @ 11:49

    Познавательно!
    Подскажите как автоматизировать эту функцию, автоматическое удаление «#more-{$post->ID}»

  58. Юлия
    Апрель 20th, 2017 @ 02:51

    Быстрый способ убрать лишний атрибут #more из ссылки в WordPress. Как сделать перелинковку в 3 раза быстрее?

Форма комментирования





Наверх