Как добавить поле для установки атрибута nofollow в окне редактора ссылок WordPress?

20 янв. 2011 г., 17:36:15
Просмотры: 927
Голосов: 2

Стандартное окно вставки/редактирования ссылки в WordPress содержит поля для URL, Target, Title и Class. Мне нужно добавить чекбокс с меткой "Сделать ссылку nofollow", который при активации будет добавлять атрибут rel="nofollow" к ссылке.

Также необходимо, чтобы редактор определял, есть ли у ссылки уже атрибут nofollow, и в этом случае чекбокс должен быть отмечен по умолчанию при редактировании ссылки.

Существует ли готовый фильтр или действие, к которому можно подключиться для добавления этой функциональности в диалоговое окно?

2
Комментарии

к сожалению, в этих разделах нет хуков. это то, чего многие из нас хотели бы...

onetrickpony onetrickpony
21 янв. 2011 г. 00:35:07

@OTP: Возможно, с новым инспектором ссылок в 3.1, сможем ли мы теперь использовать хуки?

Scott B Scott B
12 мар. 2011 г. 22:10:08
Все ответы на вопрос 1
0

Вы можете добавить плагин advlink в tinyMCE. Я не думаю, что смогу приложить код, поэтому для этого вам нужно будет скачать копию tinyMCE:

http://tinymce.moxiecode.com/download/download.php

Затем скопируйте папку advlink (из папки plugins) в папку плагинов WordPress и откройте файл link.htm.

В нем отредактируйте 4 тега script вверху с:

    <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script type="text/javascript" src="../../utils/mctabs.js"></script>
<script type="text/javascript" src="../../utils/form_utils.js"></script>
<script type="text/javascript" src="../../utils/validate.js"></script>

на:

    <script type="text/javascript" src="../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
<script type="text/javascript" src="../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
<script type="text/javascript" src="../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
<script type="text/javascript" src="../../../wp-includes/js/tinymce/utils/validate.js"></script>

Наконец, добавьте эту функцию фильтра в файл functions.php вашей темы:

function tiny_mce_advlink($plugins) {
   $newPlugins=array('advlink' => WP_PLUGIN_URL.'/advlink/editor_plugin.js' );
   return $plugins+$newPlugins;
}
add_filter('mce_external_plugins', 'tiny_mce_advlink');

После этого у вас должно появиться более продвинутое диалоговое окно при нажатии на ссылку. На вкладке "Дополнительно" вы увидите выпадающий список с надписью "Отношение страницы к цели", где можно выбрать опцию "No Follow".

Конечно, вы можете использовать этот плагин tinyMCE в качестве основы для написания своего собственного, если захотите.

6 февр. 2011 г. 20:25:54