Привет всем на данном блоге. Что-то посещалочка у меня маленько просела, опять на 25 спустился, видно сглазил, похвастался блин, ну ладно что-нибудь придумаем. А сейчас поговорим как закрыть ссылку от индесации в вордпрессе, причем везде и в комментариях и в статьях, вообще везде, заинтересовал? Тогда читаем дальше.
Содержание
- Настраиваем скрипт.
- Закрываем авторов комментариев.
- Если не работает то альтернатива.
- Закрываем сcылки в статьях.
- Альтернатива.
- Плагин.
Предупреждение: данный материал испытан мною, не на одном шаблоне, но как вы должны понимать, темы у всех разные и поэтому, наберитесь терпения, если что-то не получается. И не забываем делать копии изменяемых файлов, это самое главное.
Настройка вывода скрипта.
Правим function.php.
В чем вся прелесть данного чуда, в том что будет работать на одном скрипте, не будет разделения между закрытием ссылок в статьях, в комментариях и в самих адресах авторов. Ладно поехали, для начала берем вот этот код и вставляем в файл functuion.php.
function replace_link($content){ $pattern = '/\[urlspan\](.*?)<a (.*?)href=[\"\']([a-zA-Z]+:\/\/)?(.*?)[\"\'](.*?)>(.*?)<\/a>(.*?)\[\/urlspan\]/'; $content = preg_replace($pattern, "$1<span class='spanlink' onclick=\"GoTo('_$4')\"><span>$6</span></span>$7",$content); return $content; } add_filter('the_content', 'replace_link');
Сам код увидели, теперь смотрите куда его вставлять. Не забываем сохранять изменения.
Правим footer.php.
Саму функцию закрытия ссылок вставили, теперь надо сделать вывод данной фишки на сайте, чтобы скрипт правильно грузился. Берем вот этот код и идем в footer.php.
<script type= "text/javascript">function GoTo(link){window.open(link.replace("_","http://"));}</script>
Куда надо вставлять скрипты? Люблю я такие вопросы ух. Правильно перед закрывающим тегом < / body>, смотрим скриншот там показано.
Правим style.css.
Теперь надо подготовить вывод внешнего вида данных скрытых ссылок, открываем style.css и туда помещаем такую комбинацию (все можете настроить под себя, это лишь пример).
.spanlink{color:#0033CC;cursor:pointer;} .spanlink:hover{color:#2A7006;text-decoration:underline;}
Вставляем опять таки в самый низ style.css, ну или куда вам хочется, это не принципиально.
Закрываем ссылки авторов комментариев.
Вот тут мы повозимся маленько, пока только анализируем, смотрите нам нужно найти вот этот код в файлах либо темы, либо самого вордпресса, точного ничего не скажу, но все же.
$return = "<a href='$url' rel='external nofollow' class='url'>$author</a>";
Открываем в самой теме файл comment.php, если есть в теме comment-template.php то вообще классно, и на последок откроем еще один файл comment-template.php в движке самого вордпресса, находиться он в папке wp-includes в коневом каталоге сайта, вот скрин.
Берем тот код который был выше, и ищем его в файлах, начинаем с самой темы. Нажимаем комбинацию CNTRL+F для вызова поиска и ищем.
Если в файлах темы не нашли, то обрадую вас придется править сам движок. Да, да сейчас скажут, что мол при обновлении сотрется, ну на то мы и делаем резервные копии, чтобы потом знать где что меняли. Нашли, могу вас поздравить, вот так будет он выглядеть в теле кода.
Теперь копируем этот код, и заменяем его на тот что я давал выше.
$return = "<span class='spanlink' title='$url' onclick=\"GoTo('$url')\">$author</span>";
То есть должно получить вот так.
Если сделано правильно, то ссылки комментаторов будут закрыты, и будут отображаться как текст, для того чтобы проверить работоспособность, оставьте комментарий на любой сайт, нажмите на него для начала, если сайт открывается в новой вкладке, то это сработало. Дальше надо посмотреть сам код вывода, нажимаем правой кнопкой мыши на имени, и смотрим в исходный код, у вас должно быть как на скриншоте снизу.
Внимание, далее пойдут все способы, которые требуют подключенной библиотеки jquerry.
Если не сработало-альтернатива.
Итак если не пошло, такое тоже может быть. Пробуем делать на javascript, в файле comment-template изменяем все к начальному варианту (остальные не трогаем), и вставляем в footer.php вот эти строки.
<script type="text/javascript">jQuery(document).ready(function($) {$('.spanlink').click(function(){ window.open( $(this).attr('rel') );});}); </script>
А в function.php вот этот, который так же помещаем в самый низ.
function hidden_comment_author_link( $hidden_link ){ $url = get_comment_author_url( $comment_ID ); $hidden_link = str_replace( array('<a', '</a>', 'href='), array("<span class='spanlink' title='$url'", "</span>", "rel="), $hidden_link ); return $hidden_link; } add_filter( "get_comment_author_link", "hidden_comment_author_link" );
Почему этот способ я поставил на второе место, потому что он более капризный, не всегда срабатывает, но пробуйте. Повторюсь еще раз темы разные и поэтому если одно не получилось то пробуем другое.
Закрываем ссылки в статьях.
Скрипт работает, теперь надо научиться пользоваться им в статьях. А тут проще пареной репы, смотрите вы добавляете ссылку с анкором в статью, как обычно, я надеюсь как это делается рассказывать не надо. Вот вы ее сделали, и просто заключаем ее вот в такую комбинацию.
[urlspan]сама ссылка[/urlspan]
То есть, в визуальном редакторе это будет выглядеть так.
Ничего сложного, правда? Работоспособность проверяем так же, нажатием и проверкой исходного кода.
Если и в статьях не помогло-альтернатива.
Если полный капут, и ссылки в статьях не хотят закрываться, то делаем вот так. Идем в footer.php и перед закрывающим тегом body вставляем вот такой код.
<script type="text/javascript"> jQuery(document).ready(function($) { $('.mylink').click(function(){ window.open( $(this).attr('rel') ); }); }); </script>
Теперь чтобы сделать ссылку полностью закрытой, в режиме “текст” вставляем данную комбинацию, только в поле rel вставляем именно ту, которую будете закрывать.
<a href="" class="mylink" rel="http://syte.ru" title="Всплывающая подсказка">текст ссылки</a>
Вот так будет выглядеть в самом вордпрессе.
И еще одна альтернатива закрытия ссылок у авторов комментариев.
Как не тривиально, но это плагин, причем очень хороший, многие его пользуют, но не все знают, называется он ark-hidecommentlinks. Устанавливается он стандартно через поиск по плагинам в самой админке, просто вводите в поиске и устанавливайте.
Поставили? Ну и все на этом успокойтесь, плагин начал свое действие и начал закрывать ссылки от индексации, теперь при наведении будет показываться вот такая рамочка.
На этом я заканчиваю, если будут замечания или дополнения то милости прошу.
P.S. Собрал все возможные варианты и способы. Если что спрашивайте в комментариях, про какие-либо проблемы, буду рад помочь и подсказать.
Подробнее читайте тут