Возродим Crayon Syntax Highlighter!
Сегодня мы с вами научимся создавать плагины для WordPress. Учиться лучше, конечно, на практике. Для начала создадим каталог “urvanov-wordpress-plugin-0001”, а в нём файл “urvanov-wordpress-plugin-0001.php”. Как вы уже догадались, названием плагина будет urvanov-wordpress-plugin-0001.
Плагин будет состоять из одного файла “urvanov-wordpress-plugin-0001.php”. В начале описываем метаданные плагина внутри комментария в следующем виде:
1 2 3 4 5 6 7 8 |
/* Plugin Name: Urvanov WordPress Plugin 0001 Plugin URI: https://urvanov.ru Description: This is my first educational plugin. Author: Urvanov Version: 0.1 Author URI: https://urvanov.ru */ |
Здесь всё довольно просто. Мы просто описываем имя, адрес сайта, описание, версию и т. д. Вся эта информация будет отображаться на странице с плагинами в WordPress.
Дальше нужно подумать немного о безопасности. Если не указана глобальная переменна ABSPATH, то скрипт был запущен не из WordPress:
1 |
defined( 'ABSPATH' ) or die( 'No script kiddies please!' ); |
Теперь добавим что-нибудь полезное. Существует такая штука, как Action и Filter. В WordPress существуют различные точки расширения, которые используются при выводе заголовка, формировании текста поста и т. д. С помощью Action мы добавляем код к точке расширения. С помощью фильтра мы заменям формируемый текста для браузера на тот, который хотим. Мы подпишемся на Action wp_head, которые вызывается для формирования блока HEAD нашей HTML-страницы, где добавим вывод дополнительного комментария:
1 2 3 4 |
add_action( 'wp_head', 'my_addition_to_head'); function my_addition_to_head() { print('<!-- Urvanov Wordpress addition to head -->'); } |
Скопируйте наш каталог urvanov-wordpress-plugin-0001 в подкаталог WORDPRESS_HOME/wp-content/plugins.
Зайдите в панель администрирования WordPress и в списке плагинов увидите наш созданный плагин. Активируйте его. Затем загрузите страницу сайта и посмотрите исходный код страницы. Вы увидите, что туда добавился комментарий “Urvanov WordPress addition to head”.
Жесть, конечно. Crayon нужно чинить. Весь код поехал.