✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Допоміжна функція для повідомлень адміністратора

19

Якщо ви займаєтесь створенням плагінів або навіть тем, і використовуєте об’єктно-орієнтовані практики у своїй роботі, ви, ймовірно, зіткнулися з певним типом серіалізації. І одним із аспектів серіалізації є те, що вона вимагає певного типу зворотного зв’язку для користувача.

Це може бути повідомлення про успіх, повідомлення про помилку або повідомлення, яке просто попереджає користувача, що щось пішло не так, або, можливо, щось потрібно оновити.

У будь-якому випадку WordPress надає всі необхідні нам засоби; однак ми можемо зробити це ще простіше для себе, написавши допоміжну функцію для сповіщень адміністратора. Це теж просто.

Повідомлення адміністратора: допоміжна функція

Коли справа доходить до написання сповіщень адміністратора, важливо ознайомитися з відповідним хуком.

Звідти вам також потрібно знати такі назви класів:

  • повідомлення-помилка
  • повідомлення-успіх
  • повідомлення-застереження
  • повідомлення-інфо

Завдяки цьому можна написати допоміжну функцію, яка використовує наведений вище хук і анонімну функцію (або замикання ), щоб досягти саме того, що вам потрібно. Але спочатку зверніть увагу на наступне:

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

З огляду на це, ви повинні мати все необхідне для написання свого помічника та мати уявлення про те, коли його спорожнити.

По- перше, допоміжна функція:

<?php

/**
 * Provides an easy eay to display an administration notice based on the incoming
 * class and message.
 *
 * @param string $class   the class to add to the notice (warning, error, success)
 * @param string $message the message to display in the administration notice area
 */
protected function displayAdminNotice($class, $message)
{
    add_action(
        'admin_notices',
        function() use ($class, $message) {
            printf(
                '<div class="%1$s"><p>%2$s</p></div>',
                esc_attr($class),
                esc_html($message)
            );
        }
    );
}

Далі, припустимо, що зроблений запит містить недійсні дані. Щоб впоратися з цим, ви повинні використати наведений вище помічник , наприклад:

<?php

if (!$this->hasValidInput()) {
    $this->displayAdminNotice(
        'notice notice-error',
        'You must specify a valid email address and license key.'
    );
}

З іншого боку, припустимо, що все працює добре:

<?php

if (update_option('acme-option', $values)) {
    $this->displayAdminNotice(
      'notice notice-success',
      'The options were updated successfully!'
  );
}

Як ви бачите, ця функція використовує власні хуки WordPress, засоби PHP, а також створює метод, який можна тестувати на модуль, що має значення, якщо ви прагнете писати тестовані веб-програми на WordPress.

І навіть якщо ні, у вас є простіший спосіб зберегти ваш код трохи більш СУХИМ, ніж це було раніше.

Джерело запису: tommcfarlin.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі