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

Спомняте ли си  структурата на директориите, за която споменахме преди това  :

  • my-brand-new-pugin/ – главната директория на нашия plugin
    • my-brand-new-pugin.php – основният файл на нашия plugin
    • include/–  директория за базовите класове
    • итн.

Създаваме файл class-skeleton-plugin.php в поддиректорията  include и дефинираме Skeleton_Plugin class. Също така ние ще добавим няколко статични променливи, в които ще опишем структурата на директориите, за да избегнем така наречените hard coded пътища.

Добавяме още вътрешни променливи за бъдеща употреба. За наше удобство дефинираме $plugin_file и $plugin_dir, които после да се използват от различни функции. Променливата text_domain служи за локализация на нашия плъгин. Също така добавяме два масива, в които ще се съдържат списъци на нашите javacript файлове и css таблици.

Време е да напишем и конструктор за нашия клас.

Първите няколко реда инициализират масивите  със списъците на нашите javacript и css файлове. След това задаваме  $plugin_file и $plugin_dir, които ще използваме по-нататък за няколко вътрешни магийки като локализация и зареждане на  javacript и css. Променливата $text_domain получава като стойност името на главния файл на нашия плъгин без разширението (.php).

След това регистрираме входни точки за активиране и деактивиране на нашия плъгин.  Например при активиране може да се създадат някои стойности по подразбиране, а при деактивиране да се почисти базата данни. И накрая добавяме няколко от най-използваните във WordPress actions, като init, admin_init итн, като ги насочваме към абстрактни функции, които ще бъдат пренаписани в наследниците на нашия клас.

Част I