Розробка віджетів консолі. API віджетів WordPress

Якщо у вас є базові знання про програмування, то вам не важко навчитися створювати свої віджети WordPress. Ця стаття буде вам корисна, якщо ви готуєтеся створювати свої плагіни WordPress. Не тягтиму, просто почне робити свої віджети.

Створюємо найпростіший плагін

Для початку створимо найпростіший плагін, для цього нам необхідно створити в папці плагінів /wp-content/plugins/ файл test-plugin.php. У створеному файлі створимо код:

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

Ось так плагін буде виглядати в панелі адміністратора WordPress у розділі плагінів.

widget api wordpress на русском

Після активації плагіна можемо продовжувати його дописувати. Основний інструмент для додавання віджету це функція wp_add_dashboard_widget () яка додає віджет у консоль WordPress. Розглянемо вхідні дані функції:

  • $widget_id (ціле число) – обов'язковий параметр, ідентифікатор, буде використовуватися як клас CSS і ключ в масиві віджетів Консолі WordPress.
  • $ім'я_віджета (рядок) – обов'язковий параметр, ім'я віджета, яке буде відображатися в заголовку віджету.
  • $callback (рядок) – обов'язковий параметр, ім'я функції, яка відображатиме вміст віджету Консолі.
  • $control_callback (рядок) – необов'язковий параметр, зворотний виклик, ім'я функції, яка оброблятиме форму нового віджету Консолі. Поки що з цією функцією ми працювати не будемо.

 

Приклад та порядок введення параметрів для функції wp_add_dashboard_widget

Код функції додавання віджетів

Запуск віджетів у Консолі реалізує екшен wp_dashboard_setup яка викликає функцію add_dashboard_widgets. У нашому прикладі функція add_dashboard_widgets відповідає за виведення інформації в блок віджету.

В результаті використання цього коду в нашому плагіні, віджет буде показано в консолі CMS.

Приклад виведення віджету

створити приклад віджета

Даний приклад можна використовувати для виведення різного роду важливої ​​інформації в консоль (статистики продажів інтернет магазину, контакти студії яка розробляла сайт та займається його підтримкою, статті які були опубліковані користувачами з певною роллю або взагалі окремим користувачем). Інформацію можна виводити найрізноманітнішу.

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

налаштування віджетів widget api

Розглянемо детальніше методи реалізації цього функціоналу. По-перше для тих хто не знає в WordPress проміжні опції та параметри зберігаються за допомогою спеціального механізму опцій. Потренуватись працювати з опціями можна за однією з моїх статей під назвою “Зберігання даних у вордпрес“.

Якщо механізм опцій вам знайомий або ви прочитали мої статті і всі зрозуміли, то спробуйте замінити старий код нашого плагіна на цей:

Наведений приклад коду я прокоментував, щоб було зрозуміліше, що в коді відбувається. Думаю, якщо матеріал викладений вище ви переглянули уважно, то питань щодо цього коду бути не повинно. Якщо питання таки є, що ставити запитання можна у коментарях наприкінці статті.

 

Видалення зайвих віджетів з консолі

Є два підходи. Перший підхід чистити глобальний масив, в якому знаходиться список віджетів ось так:

Цей приклад прибирає віджет Швидкі публікації.

Інші виджети можна видалити за необхідності., трохи змінивши останній за вкладеністю ключ у масиві:

Видаляє віджет “Плагіни”

$wp_meta_boxes['панель приладів'][«нормальний»][«ядро»]['dashboard_plugins']

Видаляє “Свіжі чернетки”

$wp_meta_boxes['панель приладів'][«сторона»][«ядро»]['dashboard_recent_drafts']

Видаляє “Нові коментарі”

$wp_meta_boxes['панель приладів'][«нормальний»][«ядро»][‘dashboard_recent_comments’]

Видаляє віджет “Вхідні посилання”

$wp_meta_boxes['панель приладів'][«нормальний»][«ядро»][‘dashboard_incoming_links’]

Видаляє віджет “Прямо зараз”

$wp_meta_boxes['панель приладів'][«нормальний»][«ядро»][‘dashboard_right_now’]

Для видалення всіх блоків стандартних віджетів з Консолі WordPress використовуємо наступний код:

 

Також другий підхід до видалення, це використання спеціальних функцій ядра CMS. Ось який приклад нам пропонує кодекс WordPress.

Якщо вам не потрібно видаляти блоки віджетів, але ваш віджет після встановлення плагіна потрапив у кінець, його можна за умовчанням започаткувати за допомогою перестановки глобального масиву з усіма віджетами (глобальні $wp_meta_boxes;). Про сортування масиву та перестановку тут не пишу, це вже питання щодо php.

Для більш просунутої роботи з віджетами ви завжди можете подивитися, як вони програмувалися в самому ядрі WordPress, у файлі:

/wp-admin/includes/dashboard.php

Додаткові матеріали щодо API Widget

Код для виведення всіх опцій стандартних віджетів.

Для виведення однієї опції віджета можна використовувати функцію:

Для оновлення опцій віджета кодекс WordPress пропонує наступну функцію:

Для більш повного вивчення матеріалу вам знадобляться статті:

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


Купити хостинг WordPress
Репетитор по wordpress
Послуги репетитора онлайн. Список курсів, які я веду
  • Базовий курс з веб-дизайну;
  • Верстка сайтів;
  • Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
  • Розробка сайтів на PHP.
Докладніше читайте на сторінці репетитор по WordPress
*/

Розробка віджетів консолі. API віджетів WordPress

Якщо у вас є базові знання про програмування, то вам не важко навчитися створювати свої віджети WordPress. Ця стаття буде вам корисна, якщо ви готуєтеся створювати свої плагіни WordPress. Не тягтиму, просто почне робити свої віджети.
(більше…)

Ніколаєнко Максим

Директор веб-студии ProGrafika. Займаюсь розробкою, дизайном та просуванням веб-сайтів. Завжди радий новим читачам блогу та добрим клієнтам.


Вам також може сподобатися...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.

Шаблони для WordPress
Найкращий хостинг в Україні
Стабільний хостинг для Drupal