Опубликовано 4 комментария

Убираем из ссылки тег #more в wordpress

В движке WordPress есть возможность разделять записи блога на короткое и полное содержание. При этом в кратком описании поста появляется ссылка – Читать далее. И всё бы ничего, но в штатном функционале движка при переходе по ней, в адресной строке отображается ссылка на запись блога с тегом #more.

Не все довольны таким подходом к делу, потому как данный вид ссылки может расцениваться поисковыми системами как дубликат страницы, что в рамках SEO не допустимо. Да к тому же теряется некая “красота” отображения страничек.
Сегодня мы попробуем исправить данный недочет функционала WordPress. Ничего сложного здесь нет, просто для этого нам понадобиться отредактировать php файл движка. Приступим…
Итак, чтобы убрать не нужный тег из ссылки на полную запись нам необходимо отредактировать файл /wp-includes/post-template.php в директории WordPress. В данном файле необходимо обратить внимание на функцию, которая генерирует ссылку на полную запись блога. Выглядит она примерно так:
if ( ! empty( $more_link_text ) )
$output .= apply_filters( 'the_content_more_link', ' ID}\" class=\"more-link\">$more_link_text", $more_link_text );
$output = force_balance_tags( $output );
}

Убираем из ссылки тег #more в wordpress

Из данной функции нам нужно удалить #more-{$post->ID}
Удалить данный тег необходимо в ТОЧНОСТИ как написано выше, а именно без без кавычек и слеша \
Сохраняем отредактированный файл и проверяем публикацию полной новости в WordPress. Проблема с тегом #more решена!

Поможем настроить Ваш сайт на WordPress!

Предлагаем услуги по обслуживанию сайтов на разных условиях:

+7 (965) 254-83-24


4 комментария к “Убираем из ссылки тег #more в wordpress

  1. Добрый день, сделала все как написано в статье, вот кусок отредактированного кода prntscr.com/m673wg вернулась на сайт, обновила и ничего не поменялось prntscr.com/m6746g уже и CTRL+F5 нажимала и кеш чистила в браузере. Все равно остается с тегом more. Подскажите, в чем может быть причина?

    1. Наталья, добрый день!

      Причин по которой ссылка могла не измениться несколько и ситуация требует детального рассмотрения. Дело тут скорее всего в Вашей теме. Но если данный метод Вам не помог, то можете попробовать добавить следующий код в файл 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'); ?>

      Если данный совет Вам не поможет, то Вы можете связаться с нами по электронной почте help@self-it.ru для получения удаленной помощи.

      1. Спасибо за ответ. А данный код в какое место в functions.php нужно вставить? В начало документа?

        1. Данный код можно вставить в любое место файла functions. Сам же файл желательно править с помощью программы notepad. Кроме того файл functions.php необходимо править из папки Вашей темы!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *