Как удалить окончание #more из адреса статьи в WordPress

Как удалить #moreЗдравствуйте, уважаемые читатели блога Spectr-rv.ru. В этой маленькой заметке я расскажу вам, как сделать свой сайт более привлекательным для посетителей.

Многие из вас замечали, что, если для перехода от анонса статьи к ее полному тексту используется ссылка «Далее …» («Читать далее …» и т. п.), URL статьи отображается с окончанием #more. Согласитесь, выглядит такая запись не очень красиво. Вы можете убедиться в этом сами, открыв любую статью на своем сайте. Некоторые современные шаблоны  изначально свободны от этого недостатка. Если вы используете именно такой шаблон, то для вас эта тема не актуальна.

Адрес статьи, открытой с помощью ссылки «Далее …» выглядит примерно так:

http://spectr-rv.ru/tvoj-kompyuter/otklyuchenie-avtozapuska-fleshki-v-windows-7#more-4549

Окончание, состоящее из тега #more и идентификатора статьи, является совершенно безобидным. Оно не может вызвать дублирование страниц или еще как-то повлиять на показатели сайта. Тем не менее, мне всегда хотелось убрать этот бесполезный атрибут, чтобы он не портил внешний вид адреса. Как выяснилось, окончание #more можно безболезненно удалить, причем сделать это, совсем несложно.

Сегодня я познакомлю вас с двумя способами избавления от окончания #more в адресе статьи сайта на WordPress.Вам останется только выбрать способ, наиболее подходящий для вас.

Первый способ

Для удаления добавки  #more в WordPress данным методом, требуется немного подредактировать  файл post-template.php из папки wp-includes, лежащей в корневой папке сайта (как правило, это папка public_html).

С помощью FTP-соединения подключитесь к серверу вашего хостера и найдите файл / wp-includes/ post-template.php. Поможет вам в этом замечательный FTP-клиент FileZilla, работа с которым описана здесь. Откройте файл для редактирования в программе Notepad++ и найдите фрагмент кода, выделенный на рисунке.

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

Как удалить окончание #more из адреса статьи в WordPressДля ускорения поиска нужной строки, воспользуйтесь сочетанием клавиш Ctrl + F или кнопкой с изображением бинокля на панели инструментов Notepad++. В открывшемся окне вставьте фрагмент #more-{$post->ID} в поле «Найти» и нажмите кнопку «Искать далее». После этого, нужный фрагмент кода будет выделен, как показано на рисунке.

Как удалить #more Сохраните внесенные изменения. Все, работа окончена. Теперь ссылка на любую вашу статью будет выглядеть более аккуратно.

Второй способ

Данный метод оптимизации адреса поста значительно проще, так как позволяет обойтись без контакта с хостингом, что немаловажно для начинающих пользователей WordPress. При удалении окончания #more этим способом, необходимо вставить небольшой код в файл functions.php.

Для редактирования указанного файла, выберите в главном меню административной панели своего сайта пункты: «Внешний вид» --> «Редактор». Найдите в правой колонке файл «Функции темы (functions.php)» и откройте его. Вставьте в самый конец файла следующий небольшой код, который можно скопировать прямо отсюда:

<?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');
	?>

На этом работу по исправлению внешнего  вида ссылок можно считать законченной.

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

Вот и все, что я хотел вам сказать относительно оптимизации адреса статей сайта. Теперь вы знаете, как удалить #more из адреса статьи и, при желании, можете это сделать самостоятельно. Спасибо за внимание. Удачи!

Навигация

Обсуждение: 9 комментариев
  1. Спасибо за статью. Давно думал, как удалить это окончание.

  2. Я раньше тоже его удалял, пока не понял, что это же обычный якорь. Задача якоря отправлять посетителя, кликнувшего по ссылке не в начало поста в то место, куда якорь ведет.
    Никакого смысла в удалении данного окончания нет.

  3. Владимир:

    Дмитрий, конечно, особого смысла в удалении нет. Просто ссылка выглядит лучше.

  4. Спасибо за статью. Воспользовалась первым вариантом — все идеально. А вот пробовала вторым способом — сайт исчезает, консоль вордпресовская, просто белый экран — пришлось код удалять не через редактор, а через панель управления хостера. Может быть, знаете почему при втором способе сайт исчез?

  5. Владимир:

    Елена, нужно искать ошибку. Я проверял, все работает нормально.

  6. Не один из способов не работает (может только у меня), тема graphene
    Зачем «огород городить», если надо где-то вставить ссылку, можно просто удалить #more…. и все

  7. Здравствуйте!Прошу прощения, первый способ сработал после того как отключил плагин Hyper Cache, а вот второй так и не работает (пропадает сайт)

  8. Владимир:

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

  9. Всё работает отлично во втором способе, только в некоторых шаблонах из кода надо убрать в начале кода:. У меня например именно так. Ещё раз спасибо!

Поделитесь своим мнением

Подписка на обновления

Хотите получать новые статьи на почту? Введите свой e-mail адрес:

© 2017 Полезные советы, программы и сервисы интернета  Войти