Что такое WordPress хуки и как их использовать?
Опубликовано: 01.09.2018
Что такое хуки? Простыми словами хуки это функции wordpress, к которым можно привязать свои функции. В переводе с английского hook это крюк, таким образом вы как бы привязываетесь к стандартной функции. Например, на функцию удаления записи, привязываем свою функцию, которая будет срабатывать только при удалении поста. С помощью грамотного использования хуков, можно значительно расширить базовый функционал WordPress.
Я на маленьком примере покажу, как можно использовать хуки WordPress. За основу возьмем хук публикации поста publish_post, и создадим для него функцию, которая будет добавлять пользователю балы за добавление постов.
Как использовать хук
Хуки используются либо в плагинах, или в functions.php. Чтобы вызвать хук нужно прописать:
CSS генераторы. Что это и как их использовать в WordPress
add_action('publish_post', 'add_point');
publish_post – название хука, все хуки можно посмотреть на официальном сайте WordPress Codex .
add_point – Название функции, которую вы создаете.
Пример функции с хуком
В моем случае функция работает таким образом:
Простой способ переводов тем и плагинов. Плагин Loco Translate
Пользователь добавляет запись, срабатывает хук который вызывает функцию, в которой происходит вся магия ???? В функции я работаю с классом $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');Данная функция не закончена, я ее показал для наглядности, чтобы было понятно, как можно работать с хуками и функциями.
Если посмотреть перечень всех хуков , то вы поймете, на сколько сильно можно разнообразить блог с помощью простых манипуляций.
Похожие записи
Хотите подобный функционал, верстку либо помощь в настройке вашего сайта?
Свяжитесь со мной