"WordPress для чайників" або вчимося створювати плагіни для WordPress
16.09.2008
Ну хоч це і мікроплагін, але це вже не модифікат, а... я дійсно сидів і розбирався, як же ото фунціонують плагіни у вордпресі. Довелось навіть перегляд відеокурсу по php прискорити, аби розібратися з фунціями
Тож, цей пост не стільки перезентація плагіну, як нотатка про те, як власноруч створити щось подібне.
Отже, про сам плагін. Називається він "WordPress для чайників" і по суті це є невеличка інструкція по правильному постінгу. Необхідність його створення була викликана тим, що я задовбався пояснювати всім тим, хто вперше бачить wordpress, що і як робити. Особливу увагу я приділяю коректному додаванню тексту в запис (зазвичай люди просто копі-пестом переносять все з ворду або браузера, що неправильно), а в світлі того, що я нещодавно почав роздавати , то наявність інструкції в адмінці кожного блогу просто життєво необхідна.
Ну і, головне, мені вже дуже хотілося розібратися з фунціонуванням плагінів та створити щось від себе.
Отже, мій плагін складається усього з двох фунцій. Починаємо зі стандатрного тексту:
1 2 3 4 5 6 7 8 9 | <?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/ */ |
Далі у нас іде функція, яка і виконує головне завдання - містить наш контент з інструкцією в адмінці:
1 2 3 4 5 6 7 8 9 | function instrtext() { echo <<<text <div class="wrap"> <h2>Як правильно додати публікацію та налаштувати свій блог</h2> <p>Bla-bla-bla</p> </div> TEXT; } |
Як ви вже зрозуміли, замість тестового тексту можна підставити що завгодно: власну інструкцію, наприклад. Можна просто вставити фрейм і виводити будь-що з будь-якого джерела.
Зверніть увагу на div class="wrap" - це стандартний клас оформлення адмінки (принаймні, у версіях до 2.5 точно, не перевіряв...) і вам не потрібно мудохатися з оформленням сторінки в сss. Але можна і поекспериментувати!...
І далі в нас іде остання фунція, яка додає в "шапку" адмінки окрему сторінку з вашою інструкцією:
1 2 3 4 5 | function instr_addpage() { add_menu_page( 'Mixa', 'Mixa', 1, __FILE__, 'instrtext'); } add_action('admin_menu', 'instr_addpage'); ?> |
В даному випадку наша інструкція з'явиться як окрема сторінка одразу після всіх решти розділів адмінки. Але, логічно було би, скажімо, виводити нашу сторіку як підрозділ рубрики "Створити" (тобто там, де є опції створення посту/сторінки). В такому разі відбудуться деякі зміни в другій фунції:
1 2 3 4 5 | function instr_addpage() { add_submenu_page( 'post-new.php', 'Mixa', 'Mixa', 1, __FILE__, 'instrtext'); } add_action('admin_menu', 'instr_addpage'); ?> |
Різниця в тому, що ми тепер додаємо не пункт меню, а субменю, і прописуємо, до якої саме сторінки (розділу адмінки) прикріпити наше субменю.
Взагалі я застосував три шляхи появи сторінки плагіну для різних розділів адмін-панелі. Ви можете вибрати зручний, закоментувавши дефолтний та розкоментуваши потрібний. Або просто отримати підказку на сторінці .
Увага, при використанні плагіну варіант з додаванням сторінки як самостійного розділу меню може не спрацювати. Причини з'ясовую...
Ну а так начебто все. Єдине, що хочеться зазначити, що я не позиціоную цей плагін як повноцінний. Це всього лише спроба навчитися створювати власні додатки, але навіть на даному етапі він уже може справлятися з поставленим завданням. Окрім того, його можна використати як платформу для написання власних рішень. Я, наприклад, на слідуючому етапі хочу навчитися додавати налаштування, щоб текст і фрейми можна було вставляти не безпосередньо в код, а на сторінці налаштувань плагіну. Тож, вчитися, вчитися і ще раз вчитися!..

RockSessionsKyiv (Розширення з анонсами рок-сейшнів у Києві для Google Chrome) (42) - 53.51 kB
Я не знаю, що ви тут робите, але раз вже так сталося, можливо, ви б хотіли знайти певний мінімум про автора цього інтернет-творіння :) Отже, мене звуть Міха (за паспортом - Михайло), мені 26 і я маю купу інтересів, серед яких найбільш чітко проявляються музика (бринькання на всяких гітарах-брабанах і обожнювання Девіда Гілмора), розробка сайтів та охорона Природи (так, я пишу це слово з великої літери!).
19 Вересень 2008 о 11:21
[...] “WordPress для чайників” або вчимося створювати плагіни д…. Міха опублікував своєрідний посібник для чайників, як створювати плагіни для WordPress. Буде корисно для тих, хто хоча б трішечки знає основи PHP і не хоче обмежуватися чужими програмами. Дозволяє зрозуміти ключові принципи роботи вордпрес-плагінів і нарешті спробувати написати щось своє. [...]