“WordPress для чайників” або вчимося створювати плагіни для WordPress

Ну хоч це і мікроплагін, але це вже не модифікат, а… я дійсно сидів і розбирався, як же ото фунціонують плагіни у вордпресі. Довелось навіть перегляд відеокурсу по php прискорити, аби розібратися з фунціями 🙂

Тож, цей пост не стільки перезентація плагіну, як нотатка про те, як власноруч створити щось подібне.

Отже, про сам плагін. Називається він “WordPress для чайників” і по суті це є невеличка інструкція по правильному постінгу. Необхідність його створення була викликана тим, що я задовбався пояснювати всім тим, хто вперше бачить wordpress, що і як робити. Особливу увагу я приділяю коректному додаванню тексту в запис (зазвичай люди просто копі-пестом переносять все з ворду або браузера, що неправильно), а в світлі того, що я нещодавно почав роздавати блоги на Природі Україні, то наявність інструкції в адмінці кожного блогу просто життєво необхідна.

Ну і, головне, мені вже дуже хотілося розібратися з фунціонуванням плагінів та створити щось від себе.

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

<?php
/*
Plugin Name:  WordPress для чайників
Plugin URI: http://www.mixa-blog.org.ua/wp-dummies/
Description: Інструкція по правильному поводженню з WordPress для тих, хто щойно приєднався :) Як правильно додати публікацію та налаштувати свій блог.
Author: Mixa
Version: 0.1
Author URI: http://www.mixa-blog.org.ua/
*/

Далі у нас іде функція, яка і виконує головне завдання – містить наш контент з інструкцією в адмінці:

function instrtext()
{
echo <<<text
<div class="wrap">
<h2>Як правильно додати публікацію та налаштувати свій блог</h2>
<p>Bla-bla-bla</p>
</div>
TEXT;
}

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

Зверніть увагу на div class=”wrap” – це стандартний клас оформлення адмінки (принаймні, у версіях до 2.5 точно, не перевіряв…) і вам не потрібно мудохатися з оформленням сторінки в сss. Але можна і поекспериментувати!…

І далі в нас іде остання фунція, яка додає в “шапку” адмінки окрему сторінку з вашою інструкцією:

function instr_addpage() {
    add_menu_page( 'Mixa', 'Mixa', 1, __FILE__, 'instrtext');
}
add_action('admin_menu', 'instr_addpage');
?&gt;

В даному випадку наша інструкція з’явиться як окрема сторінка одразу після всіх решти розділів адмінки. Але, логічно було би, скажімо, виводити нашу сторіку як підрозділ рубрики “Створити” (тобто там, де є опції створення посту/сторінки). В такому разі відбудуться деякі зміни в другій фунції:

function instr_addpage() {
add_submenu_page( 'post-new.php', 'Mixa', 'Mixa', 1, __FILE__, 'instrtext');
}
add_action('admin_menu', 'instr_addpage');
?&gt;

Різниця в тому, що ми тепер додаємо не пункт меню, а субменю, і прописуємо, до якої саме сторінки (розділу адмінки) прикріпити наше субменю.

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

Увага, при використанні плагіну Admin Drop Down Menus варіант з додаванням сторінки як самостійного розділу меню може не спрацювати. Причини з’ясовую…

Ну а так начебто все. Єдине, що хочеться зазначити, що я не позиціоную цей плагін як повноцінний. Це всього лише спроба навчитися створювати власні додатки, але навіть на даному етапі він уже може справлятися з поставленим завданням. Окрім того, його можна використати як платформу для написання власних рішень. Я, наприклад, на слідуючому етапі хочу навчитися додавати налаштування, щоб текст і фрейми можна було вставляти не безпосередньо в код, а на сторінці налаштувань плагіну. Тож, вчитися, вчитися і ще раз вчитися!.. 🙂

[download#3#image]
[download#3#size]