Яндекс.Метрика
qr-код - Как-то так стрелка - Как-то так
Ведущий экономист + ... пиктограмма - Как-то Так THIS     Экономическая грамотность и web-решения
Всё по теме: что, как и почему. Актуальные вещи - своими словами.
Повышайте своё качество WITH ME - СПЭМ !
Если тебе не нравится то, что ты получаешь, измени то, что ты даешь. © Карлос Кастанеда     KAKTOTAK.BY - услуги по экономическому проектированию и web-разработке (php/js - telegram, WordPress, Laravel, Vue, SEO)    Кооперация - на постоянной основе    Будь в теме   -    ПОДПИШИСЬ      Мои заметки - ЭКОНОМИКА +  и  Справочник WEB-разработчика | php+js+seo   в Telegram   telegram  

Принцип работы add_action и do_action в WordPress - на простом

Принцип работы add_action и do_action в WordPress - на простом

Понимание сущности двух ключевых функций - add_action и do_action - является фундаментальным для разработки проектов на WordPress, поскольку именно они составляют основу архитектуры написания и вывода кода на этой платформе.

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

Что такое add_action?

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

Пример использования add_action:


function my_custom_message() {
    echo 'Это мое пользовательское сообщение!';
}
add_action( 'wp_footer', 'my_custom_message' );

В этом примере мы создаем функцию my_custom_message, которая выводит сообщение. Затем мы связываем эту функцию с хуком wp_footer, чтобы она выполнялась в нижней части страницы.

Что такое do_action?

do_action — это функция, которая вызывает все функции, зарегистрированные к определённому хуку с помощью add_action. Вы используете эту функцию в том месте, где хотите инициировать выполнение всех связанных с хуком функций.

Пример использования do_action:


function another_function() {
    echo 'Это другая функция!';
}

// Добавляем ее к нашему хуку.
add_action( 'my_custom_hook', 'another_function' );

// Вызываем наш собственный хук.
do_action( 'my_custom_hook' );

В этом примере мы добавляем функцию another_function к собственному хуку my_custom_hook. Затем, когда мы вызываем do_action( 'my_custom_hook' ), WordPress выполнит все функции, связанные с этим хуком.

Полный код примера

Теперь давайте объединим всё в одном примере, который можно поместить в файл functions.php вашей темы WordPress:


// 1. Определяем функцию, которая будет вызываться через wp_footer.
function my_custom_message() {
    echo 'Это мое пользовательское сообщение!';
}

// 2. Добавляем эту функцию к хуку wp_footer.
add_action( 'wp_footer', 'my_custom_message' );

// 3. Определяем другую функцию.
function another_function() {
    echo 'Это другая функция!';
}

// 4. Добавляем эту функцию к собственному хуку my_custom_hook.
add_action( 'my_custom_hook', 'another_function' );

// 5. Вызываем наш собственный хук, чтобы вывести сообщение.
do_action( 'my_custom_hook' );

Как это работает?

Когда вы загружаете страницу, WordPress выполняет следующие шаги:

  1. При достижении wp_footer он выполнит функцию my_custom_message, выводя сообщение: 'Это мое пользовательское сообщение!'.
  2. В любом месте кода, где вы вызовете do_action( 'my_custom_hook' ), WordPress выполнит все функции, добавленные к этому хуку, включая another_function, выводя: 'Это другая функция!'.

Принципиальное отличе этих двух сущностей - do_action и хуки

do_action — это функция, которая вызывает все функции, зарегистрированные на определённый хук. Она сама по себе не является хуком; скорее, она используется для инициирования выполнения функций, привязанных к хуку.

Хук, о котором идет речь, — это название, которое вы передаете как строку (например, 'wp_footer' или 'my_custom_hook'). Это и есть сам хук, и именно это имя ключевое, когда вы используете функции add_action и do_action.

Сравнение:

do_action('my_custom_hook'): Это вызов, который означает: "Выполни все функции, которые были добавлены к хуку с именем 'my_custom_hook'."

add_action('my_custom_hook', 'my_function'): Это добавление функции 'my_function' к хуку с именем 'my_custom_hook'. Здесь 'my_custom_hook' — это сам хук.

Другими словами:

Создание хука: Когда вы пишете add_action('my_custom_hook', 'my_function'), вы создаете связь между хуком 'my_custom_hook' и функцией 'my_function'.

Вызов хука: Когда вы пишете do_action('my_custom_hook'), вы вызываете все функции, которые были связаны с этим хуком. То есть если где-то была добавлена функция к хуку 'my_custom_hook', она будет выполнена, когда вы вызовете do_action.

То есть:

do_action — это функция для вызова (проведения) всех функций, привязанных к определенному хуку.

Хук — это название точки расширяемости в WordPress, к которой можно привязать функции.

Использование add_action и do_action позволяет разработчикам создавать гибкие и расширяемые решения в темах и плагинах WordPress. Это мощные инструменты, которые позволяют добавлять функциональность и изменять поведение без необходимости редактировать исходный код.

автор - Михаленко Р.
M R. Автор - kaktotak.by Специализация: финансово-экономическое проектирование - моделирование бизнеса, инвестиционных проектов реального сектора, анализ и оценка эффективности, оптимизация системы управленческих решений.

Широкий спектр web-компетенций для решения задач бизнеса.

Подписывайтесь на мой телеграмм канал - Мои заметки - ЭКОНОМИКА +
Там я ничего не втюхиваю и не навязываю. Просто делюсь полезной информацией по экономической грамотности. Повышайте своё качество вместе со мной: что, как и почему в экономике на простом языке. Понятия, алгоритмы, процессы, микро- и макроаспекты и многое другое. Может, будет интересно !

А так же - Справочник WEB-разработчика | php+js+seo
Заметки и нативные решения простых локальных задач на PHP, JS. Кое-что про Laravel, WordPress, Vue и SEO.

  Персональная помощь в экономическом проектировании и веб-разработке:

  • Финансово-экономическое моделирование, анализ, учёт, бизнес-планирование
  • Комплексная web-разработка/поддержка проекта в сети (php/js, seo – Laravel, WordPress, Vue, telegram, администрирование, контент, реклама в Яндекс Директ

  telegram или форма обратной связи

Administrator
100
0
Имя
E-mail
Рейтинг
Отзыв

Конвертер валют
RUB RUB-icon
USD USD-icon
EUR EUR-icon
CNY CNY-icon
BYN BYN-icon
UAH UAH-icon
KZT KZT-icon
SHORT - о чём речь
ЭКОНОМИЧЕСКАЯ ГРАМОТНОСТЬ
Хочу Всё Знать. Полезные Советы