WordPress Plugin Boilerplate 101: Как да започнем

WordPress Plugin Boilerplate 101: Как да започнем

WordPress Plugin Boilerplate 101: Как да започнем
СОДЕРЖАНИЕ
02 июня 2020

От създаването на WordPress плъгини преди около 10 години не се промени много в начина, по който ги пишем. Има основен плъгин файл с заглавие, последван основно от Wild West. Освен използването на куки, няма стандартизиран начин за правене на приставки.


Това не е непременно проблем. Има много прости плъгини, които не се нуждаят от управляваща рамка, и има хора, които могат да напишат идеално съгласуван процедурен код. Казаното казано, качеството на кода в плъгините като цяло не е най-доброто, рамка или методология ще изминат дълъг път в повишаването му.

В тази статия ще разгледам едно възможно решение – WordPress Plugin Boilerplate. Той е предназначен да бъде отправна точка за разработване на приставки, обектно ориентиран начин за създаване на стандартизиран плъгин. Тъй като е кодиран с принципите на OOP, той е предназначен главно за междинни кодери, но можете лесно да го използвате дори и за начинаещ, ако знаете какво отива накъде. В края на тази статия трябва да знаете какво има и как да започнете с нея – независимо от вашия опит с кодиране.

Обща структура на файловете

Платформата на котела е предназначена да се използва като хранилище на Github, така че основната директория съдържа файлове, често срещани в репозиториите на Github. Файлът README.md е общо четене и се показва на вашата основна страница на хранилището като описание. Файлът CHANGELOG.md е за запис на промени между версия и .gitignore файл е за настройка на файлове, които git трябва да игнорира при работа с файлове.

Основната папка тук plugin-name е мястото, където се съхранява приставката. Структурата му следва хранилището на WordPress и вие можете "настаняване" тази папка към репо за SVN плъгин. По подразбиране тя съдържа папката с активи, която съхранява изображения и скрийншоти за вашия плъгин, и папката trunk, която съдържа кода за приставката.

Папката trunk е това, което съдържа приставката, можете да поставите тази папка в инсталация на WordPress и да активирате вашата приставка. Ще разгледаме подробно съдържанието на тази папка малко по-късно. Преди да направим това, нека да настроим магазин.

нов плъгин

Настройка всичко

Наличието на всички тези папки и SVN / Git страхотно на едно място е всичко добре и добре, но как всъщност можете да използвате това? Не можете да проверите цялата папка директно в папката си с приставки, тя просто няма да работи. Проверката само на директорията на багажника е проблем, плюс това няма да имате достъп до файлове извън тази директория.

Нека ви покажа любимия ми начин за настройка на нещата. Имам папка на компютъра си със следната структура:

  • GitHub
    • Топ Автори
    • Easy-Featured-Снимки
    • Twitter-User-Срокове
  • HTML
    • WP-администратор
    • WP-съдържание
    • WP-включва
    • други файлове за WordPress
  • WordPress
    • топ-автори
    • лесна черта-изображения
    • кикотене-потребителски срокове

Html папката е мястото, където е инсталиран WordPress. Папката github съдържа всичките ми WordPress приставки от Github. WordPress папката съдържа същите плъгини, изтеглени чрез SVN от хранилището на WordPress.

Първата стъпка, която предприема, е да създам ванилна версия на WordPress Plugin Boilerplate на Github. След това проверявам това в моята папка github. След това създавам символна връзка между папката trunk в директорията wp-content / plugins на моята инсталация на WordPress.

Символни връзки е препратка към файл или папка, която се разделя на целта си, както бихте очаквали. Крайният резултат от това е, че ако свържете плъгин от всяка точка на вашата система към вашата WordPress директория, тя ще работи добре. Това Ви дава следните предимства:

  • Можете да съхранявате плъгини на друго място.
  • Можете да символизирате папка от по-голямо хранилище.
  • Можете да свържете един и същ плъгин в множество инсталации.

Създаването на символна връзка е лесно от терминала или командния ред в Windows. Предлагам да отворите един и да отворите директорията с плъгини на вашата WordPress инсталация. След това въведете следната команда:

# За OSX или Linux
ln -s / абсолютен / път / до / github / My-Plugin-Name / my-plugin-name / trunk my-plugin-name

# За Windows
mklink / j C: \ абсолютен \ път \ до \ github \ My-Plugin-Name my-plugin-name

Това създава връзка от първия път към втория. Първият път е абсолютният път към директорията на багажника във вашето хранилище Github. Второто е само името на папката, към която искате да я свържете, когато вече сте в директорията на приставки на вашата WordPress инсталация.

След като сте готови, трябва да видите как се показва новата ви приставка, точно както на изображението по-горе. Ще трябва да персонализираме нещата, но сега нашата приставка работи от хранилището на Github, което прави развитието много по-лесно.

Преименуването

В директорията на багажника има много папки и файлове, нека започнем да ги преименуваме! На първо място, препоръчвам ви да назовите вашето хранилище с помощта на тирета и главни букви, нещо подобно: My-Awesome-Plugin. Основната папка вътре трябва да бъде наречена „my-awesome-plugin“. Препоръчвам да използвате тази конвенция през целия плъгин.

Преименуването на файловете е лесно в OSX. Отворете всички папки и изберете всички файлове, които съдържат стринг-плъгин-име в тях. Щракнете с десния бутон, за да преименувате всички 14 файла и партида преименувате партидата.

преименуване

Ще бъде малко по-трудно в Windows, погледнете това HowToGeek статия за повече информация или просто отидете една по една.

Термини като "плъгин име" и други варианти също са разпространени в цялото съдържание на файла. Можеш да използваш възвишен, Atom.io или други способни текстови редактори, които да заменят масово в няколко файла. Ето списък на това, което трябва да замените (не забравяйте да направите замяна, заменящо регистър).

  • Приставката трябва да стане my_awesome_plugin
  • Приставката трябва да стане My_Awesome_Plugin
  • плъгин име трябва да стане моят страхотен плъгин

След като приключите, не забравяйте да попълните коментара в заглавката на основния файл (my-awesome-plugin.php), за да го персонализирате според вашите нужди.

Съдържание

Има много съдържащи се в WordPress Plugin Boilerplate. Идеята е да зададете строги указания за това къде можете да поставите нещата. Има едно конкретно място за добавяне на куките ви например, стандартно място за добавяне на предни функции и така нататък. Нека да разгледаме основните части на рамката.

Обърнете внимание, че ще визирам файловете така, както са преименувани, например: include / class-my-awesome-plugin.php. Ако сте преименували своя плъгин на нещо друго, ще трябва да запомните, че частта my-awesome-plugin от името на файла ще бъде различна за вас.

Активиране, деактивиране и деинсталиране

Всеки код, който искате да стартирате, когато плъгинът е активиран, трябва да влезе включва / my-awesome-plugin-name-activator.php. В този файл има клас с име My_Awesome_Plugin_Activator, вътре в който има метод activate (), който трябва да използвате.

Не се притеснявайте, ако все още не сте на скорост по обектите, знаете къде да поставите нещата ще бъде достатъчно, за да започнете.

Кодът, който трябва да стартирате при дезактивиране, трябва да бъде поставен в включва / my-awesome-plugin-name-disativator.php. Методът activate () в My_Awesome_Plugin_Deactivator е това, което ще трябва да използвате.

Смятате ли, че това е малко прекалено сложно? Не те обвинявам! Когато започнете да използвате обектно ориентирани концепции, ще видите ползата от това над процедурния код. Ако не друго, тя осигурява много очевидно място за поставяне на вашия код, което само по себе си е огромна помощ.

За деинсталиране препоръчителният метод е да използвате uninstall.php, което прави това, което прави WordPress Plugin Boilerplate. Кодът ви трябва да бъде поставен в дъното на този файл.

Добавяне на куки

Куките се обработват от WordPress Plugin Boilerplate невероятно, но в началото може да изглежда малко грозно. Всичките ви куки трябва да бъдат поставени в / включва-class-my-awesome-plugin.php. По-конкретно, вътре в класа My_Awesome_Plugin, в рамките на два метода:

  • define_public_hooks () при добавяне на кука, която се използва в предния край
  • define_admin_hooks () при добавяне на кука, която се използва в задния край

Вместо да използвате addgery () или add_filter () както обикновено, ще трябва да направите нещата по различен начин. Ето как например променяте съдържанието на публикацията.

$ това->товарач->добавяне (‘the_content’, $ plugin_public, ‘modify_post_content’);

Първият параметър е името на куката, вторият е препратка към публичния или администраторския обект. За обществени куки това трябва да е $ plugin_public, за административните куки трябва да бъде $ plugin_admin. Третият параметър е функцията за закачане.

Макар да изглежда по-объркан, той стандартизира напълно добавянето на куки, разделяйки ги на две отделни групи в процеса.

Обществено и административно съдържание

WordPress Plugin Boilerplate разделя куки на административни / обществени групи, но това не е всичко. Той разделя всичкия си код по един и същи начин, като ви моли да напишете публично обърнат код в публичната папка и код, обърнат към администратора в папката на администратора.

И двете папки съдържат css, js и частични папки. Трябва да поставите използвани CSS / JS активи в тези папки и да запишете шаблони и други битове за многократна употреба на HTML в папката partials. Добре е да създавате нови файлове в папката partials, всъщност това е там!

Трябва да напишете своите закачени функции и в тези папки в рамките на класа в съответните директории. Когато закачихме функцията modify_post_content към the_content по-горе, казахме на WordPress Plugin Boilerplate къде да го търсим. Тъй като добавихме това към публичната страна, WordPress Plugin Boilerplate очаква той да бъде определен в класа My_Awesome_Plugin_Public, който е в публичната папка. Просто създайте тази функция в класа и напишете всичко останало, както обикновено.

Ресурси и зависимости

Ако искате да използвате външни ресурси, като напр TGM активиране на плъгини, трябва да добавите това към папката включва. TGM е един файл с име class-tgm-plugin-activation.php, който трябва да бъде включен във файла class-my-awesome-plugin.php, в рамките на метода load_dependitions ():

need_once plugin_dir_path (dirname (__FILE__)). “Включва / клас TGM-плъгин-activation.php;

Преглед

Объркани ли сте от всички имена на файлове и функции? Не се притеснявайте, ще разберете доста бързо. Всъщност обикновено променяте само три файла:

  • включва / class-my-awesome-plugin.php е мястото, където добавяте всичките си куки и зависимости.
  • public / class-my-awesome-plugin-public.php е мястото, където добавяте всички обществени функции.
  • admin / class-my-awesome-plugin-admin.php е мястото, където всички функции към администратора отиват.

Отначало използването на WordPress Plugin Boilerplate може да изглежда като кавга, но в крайна сметка ще се изплати. Ще се върнете година по-късно и ще разберете къде е всичко, разработката ви за плъгини ще бъде стандартизирана в продуктите и други разработчици ще могат да разберат какво се случва също.

И накрая, не забравяйте, че приставката, предоставяща проста джаджа, може да не се нуждае от такава рамка. Въпреки че използването на WordPress Plugin Boilerplate няма да забави вашата приставка, тя ще запуши изгледа, ако всичко, от което се нуждаете, е няколко прости реда от код!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Это интересно
    Adblock
    detector