Удаляем якорь вида “#more-123″ из ссылки “читать далее”

При вставке в текст поста тега <!--more--> WordPress добавляет к ссылке “читать далее” якорь вида #more-123 (цифра – это ID поста), чтобы при переходе по этой ссылке переместиться в то место, где этот тег вставлен. На мой взгляд, это совершенно ненужная вещь, и от нее можно легко избавиться.

В файл functions.php темы необходимо поместить следующий код:

function no_more_jumping($post) {
	return '<a href="'.get_permalink($post->ID).'" class="read-more">'.'Читать далее &raquo;'.'</a>';
}
add_filter('the_content_more_link', 'no_more_jumping');

Вот и все.

  10 Мне понравилось!

Koммeнтapии (24):

  1. Сделал, спасибо!
    По идее это полезно с точки зрения seo, если я не ошибаюся..

  2. Спасиб!
    Вопрос: какой ты плагин используешь для вставки кода на страницу и есть ли у тебя такой баг, что если зайти отредактировать запись, то вордпресс херит весь код, нужно обязательно заходить только в вид: html а не “визуальный”.

    • какой ты плагин используешь для вставки кода на страницу

      http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/

      есть ли у тебя такой баг, что если зайти отредактировать запись, то вордпресс херит весь код, нужно обязательно заходить только в вид: html а не “визуальный”

      Я визуальным редактором не пользуюсь, поэтому у меня нет такой проблемы.

  3. а у меня не работает, WP 3,0,1. Может есть другие способы?

  4. А можно было код написать так, чтобы его удобно было целиком скопировать и сразу использовать?

    Цифирки лишние копируются, приходится редактировать

    • Наведите курсор на код, появится серая панелька. Если на первую иконку кликните, откроется чистый код, если на вторую – код сразу скопируется в буфер обмена.

  5. Подскажите конкретнее где в файле functions.php нужно вставить код?
    В конце? В начале? Заранее спасибо…

  6. У меня не работает. Пробую на Wordpress 2.9.2 с плагином Evermore.
    Помоги разобраться, очень нужно удалить якорь….

    • Сейчас проверил – действительно не работает (на момент написания статьи работало).

      Замените excerpt_more на the_content_more_link.

      Сейчас подправлю статью.

  7. А есть какое нибудь решение, чтобы удалить якоря в комментариях?

  8. Можно и так. В файл function.php вашей темы, добавляете следующее:


    function no_tag_anchor_more_link ($content){
    global $post;

    $pattern = «\»#more-{$post->ID}\"";
    $replacement = '';
    $content = preg_replace ($pattern, $replacement, $content);
    return $content;
    }
    add_filter ('the_content', «no_tag_anchor_more_link»);

  9. у меня пишет Fatal error: Call to undefined function add_filter() in Z:\home\uk-vko.kz\www\wp-includes\functions.php on line 5. Что делать?

Oтпpaвить кoммeнтapий

Облако тегов