Задавайте вопросы по курсам WordPress

Хуки в WordPress

Продолжая серию статей, по написанию плагинов для WordPress хочу показать еще несколько полезных фрагментов кода.
Начинаем, как и в предыдущих статьях. Создаем файл в папке с плагинами и называем его mytestplugin.php. В созданный файл добавляем код :

<?php
/*
Plugin Name: Название плагина
Plugin URI: https://страница_с_описанием_плагина_и_его_обновлений
Description: Краткое описание плагина.
Version: Номер версии плагина, например: 1.0
Author: Имя автора плагина
Author URI: https://страница_автора_плагина
*/
?>

Сейчас мы вставили тот минимум, который нужен для инсталляции и активации плагина, далее часто после разработки необходимо подумать о лицензии на него. Многие разработчики используют лицензию GPL или сходную с ней. Для описания лицензии добавляем следующие строки в файл плагина:

<?php
/*  Copyright ГОД  ИМЯ_АВТОРА_ПЛАГИНА  (email: E-MAIL_АВТОРА)

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/
?>

 

Переходим к программированию плагинов и основным важным понятиям.

Рассмотрим основную концепцию разработки плагинов, которая работает на основе зацепок или их еще называют хуками (hook). Принцип действия хуков очень простой, каждая из элементарных функций WordPress перед тем как вернуть какой-то результат своей работы или совершить какое-то важное действие (запрос к базе данных, обработка данных, вывод на экран), пытается использовать дополнительные строки кода предназначенные для нее в файлах плагинов.

 

Пример использования хуков в WordPress

<?php
function get_the_title( $id = 0 ) {
…
…
 return apply_filters( 'the_title', $title, $post->ID ); //Пример зацепки для функции get_the_title();
}
?>

Перед тем как WordPress добавляет заголовок к записи, сначала он проверяет, имеет ли какой-либо плагин зарегистрированные функции для зацепки под названием «the_title».

 

Пример использования такой зацепки в плагине WordPress

<?php
…
 add_filter( 'the_title', 'my_own_function_for_title' ); //Так выглядит регистрация в файле плагина новой функции my_own_function_for_title(); с дополнительным инструкциями для зацепки 'the_title'.
…
?>

Текст заголовка перед выводом будет пропущен через специальную функцию my_own_function_for_title() указанную в файле плагина или в файле function.php, после чего будет выведен результат.

 

Пример работы функциией my_own_function_for_title()

<?php
…
/* Так в плагине может выглядеть функция, изменяющая заголовки WordPress. В данном случае она заставляет выводить каждое слово заголовка с большой буквы. 
*/
 my_own_function_for_title( $title ){
      $title = ucwords($title);
      return $title;
} 
…
?>

Если вам понадобится к заголовку добавить некоторую информацию или изменить его в нем должна быть зарегистрирована зацепка-фильтр для  «the_title»  и в нем указана функция, которая делает все нужные изменения с заголовками.

Все зацепки в WordPress делятся на две категории — Фильтры и Действия. (filters и actions соответственно).

Первые зацепки фильтры (filters) действительно предназначены для «фильтрования» (изменения) любых данных, перед тем как они будут выведены на странице или добавлены для хранения в базу данных. Это фильтрация спама, ошибок или просто ошибочного ввода в формах.

Вторые (действия, actions) предназначены для замены различных действий ядра вашими действиями (например, изменения строки запроса к базе данных), в программировании такое изменение действий базового функционала ещё называют перегрузкой.

В WordPress есть свой API по работе с плагинами и ряд готовых зацепок. Об всех стандартных зацепках можно почитать в официальной документации WordPress Plugin API правда пока на английском. Причем если вы нашли место, где такой хук просто необходим, то можно его предложить и о том как это сделать написано тут.

Информация взята с официальной документации и немного обработана  мной ). Удачи в разработке собственных плагинов на WordPress. Следите за новыми статьями.


Купить хостинг WordPress
/* Репетитор по wordpress
Услуги репетитора онлайн. Список курсов которые я веду
  • Базовый курс по веб-дизайну;
  • Верстка сайтов;
  • Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
  • Разработка сайтов на PHP.
Подробнее читайте на странице репетитор по WordPress
*/
Задавайте вопросы по курсам WordPress

Хуки в WordPress

Продовжуючи серію статей, за написанням плагінів WordPress хочу показати ще кілька корисних фрагментів коду.
Починаємо, як і у попередніх статтях. Створюємо файл у папці з плагінами та називаємо його mytestplugin.php. У створений файл додаємо код:
(далее…)

Николаенко Максим

Директор веб-студии ProGrafika. Занимаюсь разработкой, дизайном и продвижением веб-сайтов. Всегда рад новым читателям блога и хорошим клиентам.


Вам может также понравиться...

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Шаблоны для WordPress
Самый лучший хостинг в Украине
Стабильный хостинг для Drupal