У плагина NoFollow, который я ранее добавил к Визуальному редактору, есть два недостатка:
- он позволяет добавить атрибут
rel="nofollow"
, но не удалить при повторном нажатии; - кнопку нужно постоянно нажимать мышью.
Для меня это неудобство, которое я решил по-быстрому исправить.
Все изменения вносятся в следующий файл (на хостинге):
/wp-content/plugins/nofollow-link/mce/nofollow/editor_plugin.js
Удаление rel=nofollow
Заменяю следующий код:
if(ed.selection.getNode().nodeName=="A"){ ed.selection.getNode().setAttribute("rel", "nofollow"); }
на:
if(ed.selection.getNode().nodeName=="A"){ /* cay 1 */ if (ed.selection.getNode().getAttribute("rel") == null) { // cay: was only this line ed.selection.getNode().setAttribute("rel", "nofollow"); } else { ed.selection.getNode().removeAttribute("rel"); } /* cay 1 # */ }
Комментарий с добавлением "cay" определяет в каком месте я вносил изменения. Потом можно будет с помощью поиска и использования команды Терминала "grep" отследить мои поправки в исходных кодах. Также справа от своей метки я добавляю номер изменения (не всегда).
Теперь, если атрибут rel
установлен в nofollow
, то при повторном нажатии атрибут будет удален.
Добавление горячих клавиш
В качестве горячих клавиш я решил использовать следующую комбинацию:
ctrl+shift+X
После следующего кода:
// Register buttons ed.addButton('nofollow', { title : 'No Follow', cmd : 'mceNoFollow', image: url + '/nofollow-tag.png' });
добавляем:
// cay 2 ed.addShortcut ('ctrl+shift+X', 'Add NoFollow', 'mceNoFollow');
Чтобы не забыть комбинацию клавиш, добавим всплывающую подсказку. Вносим поправку в следующую строку:
title : 'No Follow',
Заменяем на:
title : 'No Follow (ctrl+shift+X)',
Сохраняем файл.
Заключение
Стоит отметить, что при использовании функции ed.addShortcut
и комбинации, включающей кнопку Shift
, символ клавиши должна писаться с большой буквы, иначе ничего не будет работать.
В функции ed.addShortcut
последним параметром передается зарегистрированная под кнопку команда mceNoFollow
. Ее название можно найти чуть выше по коду:
ed.addCommand('mceNoFollow', function() {
Если в Визуальном редакторе комбинация горячих клавиш не работает, то необходимо очистить кэш браузера.
Tags: WordPress, WordPress 3.3.2, доработка плагинов WordPress, изменение плагинов WordPress, изменение файлов плагинов WordPress, плагин WordPress NoFollow, плагины WordPress
Запись опубликована
Вторник, Май 29, 2012 в
06:55 и находится в
JavaScript, WordPress, Программирование .
Вы можете следить за ответами к этой записи через
RSS 2.0 ленту.
Вы можете оставить комментарий, или обратиться к записи со своего сайта.