Кнопка Noindex в редакторе WordPress + Плагин

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5
Загрузка...

Тем кому лень в визуальном редакторе писать вручную тег noindex, предлагаю разработать специальный плагин. Тег Noindex в поисковых системах используется для запрета индексирования определённых участков текста.

<!--noindex-->Какой-то текст<!--/noindex-->

Мы создадим функции, которые добавят в визуальный редактор кнопку noindex, при нажатие на которую тектс будет обрамляться шорткодом.

[noindex]Текст[/noindex]

Хочу сразу предупредить, что кнопка добавляется в панели редактора на вкладка «Текст»

Для создания шоркодов в WordPress используется функция add_shortcode

add_shortcode('tag_name','function')

Для создания новой кнопки в редакторе, хуков нет, но есть javascript объект QTags.addButton с множеством аргументов, давайте их рассмотрим

QTags.addButton( 'id', 'button_name','start_tag','end_tag','url','title','priority');
  • id — уникальное латинское имя
  • button_name — Название кнопки
  • start_tag — Открывающий тэг (Название шорткода без скобок)
  • end_tag — Закрывающий тэг (Можно не использовать, если тэг не нужно закрывать)
  • url — короткий путь (Так и не понял для чего нужен этот параметр), напишем noindex
  • title — Всплывающая подсказка для нашей кнопки
  • priority — Приоритет кнопки, или сортировка. Если установить 1, кнопка будет первой в списке

Для внедрения js скрипта в админ.панель существует хук

add_action('admin_print_footer_scripts','функци с js скриптом');

Теперь приступим к созданию плагина

Наш плагин будет называться Add Tag Noindex, создадим папку «Add Tag Noindex» в папке с плагинами (/wp-content/plugins) , а так же файл add_tag_noindex.php в этой папке. В файле add_tag_noindex.php, пишем следующий код

<?php
/*
Plugin Name: Add Tag Noindex
Author: Иванов Алексей
Author Uri: http://ivacms.ru
Description: Данный плагин добавляет кнопку noindex в визуальный редактор WordPress
*/

Этого достаточно, чтобы активировать плагин:


Теперь буем разрабатывать мини класс ivacms_noindex

В конструкторе класса, добавим две функции, первая создаст новый шорткод с помощь объекта add_noindex, вторая добавит скрипт с помощью хука «admin_print_footer_scripts» из объекта add_button в футер админ.панели

<?php
/*
Plugin Name: Add Tag Noindex
Author: Иванов Алексей
Author Uri: http://ivacms.ru
Description: Данный плагин добавляет кнопку noindex в визуальный редактор WordPress
*/
class ivacms_noindex{

  function __construct(){
  
    add_shortcode('noindex',array($this,'add_noindex'));
    
    add_action('admin_print_footer_scripts',array($this,'add_button'));
  }

 

Вместо шорткода noindex, функция add_noindex должна вернуть какой-то текст, создадим эту функцию, и запишем в неё тег  <!—noindex—>

function add_noindex($atts,$content){

  return "<!--noindex-->{$content}<!--/noindex-->";

}

Мы создали функцию, которая будет заменять шорткод вида

[noindex]Какой текст[/noindex]

на

<!--noindex-->Какой-то текст<!--/noindex-->

Теперь добавим кнопку в редактор WordPress. Функция add_button мы вызывали в конструкторе класса.

  function add_button(){
?>

<script type="text/javascript">
  QTags.addButton( 'noindex', 'Noindex','[noindex]','[/noindex]','noindex','Добавить тег noindex',1);
</script>

<?php	

  }

И объединим весь код в один

<?php
/*
Plugin Name: Add Tag Noindex
Author: Иванов Алексей
Author Uri: http://ivacms.ru
Description: Данный плагин добавляет кнопку noindex в визуальный редактор WordPress
*/
class ivacms_noindex{

  function __construct(){
  
    add_shortcode('noindex',array($this,'add_noindex'));
    
    add_action('admin_print_footer_scripts',array($this,'add_button'));
  }
  
  
  function add_noindex($atts,$content){
  
    return "<!--noindex-->{$content}<!--/noindex-->";
  
  }
  
  
  function add_button(){
?>


<script type="text/javascript">
  QTags.addButton( 'noindex', 'Noindex','[noindex]','[/noindex]','noindex','Добавить тег noindex',1);
</script>

<?php	
  
  }

}

new ivacms_noindex;

Для незначительных java скриптов, нет смысла создавать отдельные js файлы, и подключать их с помощью хука wp_enqueqe_script или admin_enqueue_scripts.

Ну и конечно же скачиваем готовый плагин к себе на компьютер, и пользуемся на здоровье 🙂

 

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

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

*
*