Что такое хуки? Простыми словами хуки это функции wordpress, к которым можно привязать свои функции. В переводе с английского hook это крюк, таким образом вы как бы привязываетесь к стандартной функции. Например, на функцию удаления записи, привязываем свою функцию, которая будет срабатывать только при удалении поста. С помощью грамотного использования хуков, можно значительно расширить базовый функционал WordPress.
Я на маленьком примере покажу, как можно использовать хуки WordPress. За основу возьмем хук публикации поста publish_post, и создадим для него функцию, которая будет добавлять пользователю балы за добавление постов.
Хуки используются либо в плагинах, или в functions.php. Чтобы вызвать хук нужно прописать:
add_action('publish_post', 'add_point');
publish_post — название хука, все хуки можно посмотреть на официальном сайте WordPress Codex.
add_point — Название функции, которую вы создаете.
В моем случае функция работает таким образом:
Пользователь добавляет запись, срабатывает хук который вызывает функцию, в которой происходит вся магия 🙂 В функции я работаю с классом $wpdb->update, где обновляю таблицу с балами конкретного пользователя. В уроке что такое $wpdb->insert, я рассказывал о классе $wpdb->insert на основе которого вы можете сделать свою функцию с использованием $wpdb->update, данный класс работает аналогичным образом.
Вот как примерно выглядит конструкция с использованием хука:
function add_point() { //Тут функция } add_action('publish_post', 'add_point');
Все что внутри функции, будет срабатывать при публикации поста. Вы можете использовать любой другой хук, который есть на сайте WordPress.
Вот функция с обновлением баллов:
function add_point() { global $wpdb; $user_ID = get_current_user_id(); $result = $wpdb->get_results("SELECT points FROM user_points WHERE user = '".$user_ID."'"); $update = $result[0]->points + 10; $wpdb->update( 'user_points', array( 'points' => $update, ), array( 'user' => $user_ID ), array( '%d', ), array( '%d' ) ); } add_action('publish_post', 'add_point');
Данная функция не закончена, я ее показал для наглядности, чтобы было понятно, как можно работать с хуками и функциями.
Если посмотреть перечень всех хуков, то вы поймете, на сколько сильно можно разнообразить блог с помощью простых манипуляций.
[…] входа WordPress. В прошлых уроках я рассказывал вам о том что такое хуки в WordPress. В данном уроке с помощью хуков мы будем […]