Введение в фильтры и действия

0

С 2004 года, когда был виден светлый мир WordPress 1.2, фильтры и действия были одними из краеугольных камней при разработке тем и модулей.

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

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


Простой пример для понимания того, что лежит в основе хуков — демонстрация существующей функции и ее модификаций.

function get_excerpt($text, $length = 150) {

$excerpt = substr($text,$length);
return $excerpt;
}

 

Эта функция содержит два параметра: строку и длину, до которой мы хотим ее сократить. Вы хотите двести символов в сообщении вместо стандартных 150 символов? Нет проблем, меняем параметр при использовании функции. Прежде всего, мы применяем фильтр для функции, которая регулирует длину отчета.

 

function get_excerpt($text, $length = 150) {

$length = apply_filters('excerpt_length', $length);

$excerpt = substr($text,$length);
return $excerpt;
}

 

Имя этого фильтра — excerpt_lenght, и к нему пока не привязана ни одна функция, поэтому длина листинга составляет 150 символов. Таким образом, мы должны сообщить системе, что хотим «подцепить» фильтр excerpt_length и определить новое значение. Мы изменим это с помощью следующей записи:

 

function get_excerpt($text, $length = 150) {

$length = apply_filters('excerpt_length');

$excerpt = substr($text,$length);
return $excerpt;
}

function modify_excerpt_length() {
return 200;
}

add_filter('excerpt_length', 'modify_excerpt_length');

 

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

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

Пример полезного действия — вставить ссылку на иконку страницы в файле header.php в вашей активной теме. Функция с именем theme_favicon содержит HTML-код с адресом, где хранится файл favicon.ico, с записью add_action(‘wp_head’, ‘theme_favicon’); мы сообщаем системе, что хотим добавить нашу функцию к функции wp_head , вставив упомянутый код между тегами< голова>< / хаед> .

 

function theme_favicon() { ?>

 <link rel="shortcut icon" href="<?php bloginfo('stylesheet_directory') ?>/images/favicon.ico"/>

<?php }

add_action('wp_head', 'theme_favicon');

 

Хорошей новостью является то, что WordPress использует функции везде, а возможности редактирования практически безграничны, но начинающих разработчиков может отпугнуть их количество (в настоящее время более 1500). Нелегко ориентироваться в таком количестве функций, но в официальной документации WordPress есть хорошо продуманные фильтры и отчеты о действиях , а база данных ловушек Адама Р. Брауна — хорошее начало для изучения ловушек.

 

Was this article helpful for you? Support me by sharing, please. 👍
WordPress Návod v PDF

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь