Temele nu sunt menite a fi funcționale, ci ca dezvoltatori de teme, mai ales că trebuie să includem câteva caracteristici pentru a face tema noastră un pic mai bună și o funcție, știi, funcțională.
În acest tutorial, vom avea o privire asupra termenului "plugin plugin" și vom învăța să folosim o unealtă fantastică scrisă de Thomas Griffin: biblioteca de activare a plugin-urilor TGM.
Temele sunt menite să schimbe design-ul site-ului dvs. WordPress. În mod ideal, ar trebui să fie vizual. Dar în această epocă de aur a WordPress, dezvoltatorii temelor includ adesea caracteristici funcționale în temele lor pentru a rămâne competitivi pe piață. Ar fi trebuit să fie, dar este.
Aceasta este invazia teritoriului pluginului. Putem defini "teritoriul pluginului" în termeni simpli: Părțile funcționale ale codului se află în interiorul granițelor acestui teritoriu. Fiecare bit de cod care modifică funcționalitatea site-ului dvs. web trebuie să fie servit ca un plugin, dacă acesta nu a fost deja difuzat în nucleul WordPress.
Într-una din postările mele anterioare (în seria "Efectuarea temei WordPress Perfect"), am menționat regulă din "teritoriul pluginului":
Dacă caracteristica se referă la aspect vizual de pe site, ar trebui să fie în temă, dar dacă este vorba despre funcționalitate a unui site web, acesta ar trebui să fie inclus ca un plugin separat.
Destul de ușor, corect?
Deși oamenii încă mai tind să codifică greu funcții în temele lor, directoarele tematice (cum ar fi WordPress.org și ThemeForest) nu acceptă teme care invadează "teritoriul plugin". Deci, a devenit o problema de a oferi functionalitate cu teme.
Din fericire, există o soluție destul de simplă și nu contravine regulii "plugin territory".
Funcția de activare a pluginului TGM este o bibliotecă ușoară, cu scopul de a îmbina teme cu pluginuri. Ideea este simplă: atunci când un utilizator instalează tema, face ca utilizatorul să instaleze pluginuri de la WordPress.org, un site web extern sau folderul tematic. Iată ce a definit Thomas Griffin, creatorul bibliotecii, acest instrument la îndemână:
Activarea pluginului TGM este o bibliotecă PHP care vă permite să solicitați cu ușurință sau să recomandați pluginuri pentru temele și pluginurile dvs. WordPress. Acesta permite utilizatorilor să instaleze și chiar să activeze automat pluginurile în mod singular sau în vrac, folosind clase, funcții și interfețe native WordPress. Aveți posibilitatea să consultați pluginurile pre-ambalate, pluginurile din WordPress Plugin Repository sau chiar plugin-urile găzduite în altă parte pe internet.
Aceasta este probabil cea mai deșteaptă soluție la problema "invaziei teritoriului plugin". Și este destul de ușor de aplicat.
Haideți să aruncăm o privire!
Instalarea activării plugin-ului TGM este ridicol de ușor. Urmați acești pași:
clasa-TGM-plugin-activation.php
în dosarul temei (oriunde doriți).functions.php
fișier și utilizați require_once ()
funcționează bine, necesită un fișier de clasă (o dată) în tema ta.tgmpa_register
prin ADD_ACTION ()
funcţie.Este atât de ușor încât nici măcar nu aveți nevoie de cod PHP complicat pentru a solicita sau recomanda pluginuri. Uitați-vă la codul de mai jos:
De acum încolo, puteți face utilizatorii să instaleze noi pluginuri prin configurarea $ pluginuri
variabilă în funcția pe care tocmai ați creat-o.
Să vedem cum se face.
După cum puteți vedea din cele de mai sus, $ pluginuri
variabila este o matrice. Și pentru a defini pluginurile pentru a instala, trebuie să creați tablouri în cadrul acelei matrice (astfel încât să puteți seta parametrii proprii). Sună tare, dar nu este:
Există câțiva parametri de utilizat:
Nume
(șir, necesar) - Numele pluginului.melc
(șir, necesar) - Blocul plugin-ului (de obicei numele acestuia).necesar
(boolean, necesar) - Dacă este setat la Adevărat
, tema dvs. va "necesita" pluginul. Dacă fals
, tema îl va "recomanda".sursă
(șir, uneori necesar) - sursa pluginului. Dacă este un plugin WordPress.org, acest parametru nu trebuie utilizat; altfel, este necesar.versiune
(șir, opțional) - Versiunea minimă necesară pentru plugin. De exemplu; dacă utilizatorul temei a instalat deja un plugin necesar, dar nu are numărul de versiune minimă specificat, activarea pluginului TGM avertizează utilizatorul să îl actualizeze.force_activation
(boolean, opțional) - dacă este setat la Adevărat
, utilizatorul nu va putea să dezactiveze plugin-ul în timp ce tema dvs. este activă. Un pic enervant, dar ar putea fi necesar în unele scenarii.force_deactivation
(boolean, opțional) - dacă este setat la Adevărat
, pluginul va fi dezactivat odată ce utilizatorul schimbă teme.external_url
(șir, opțional) - Dacă este setat, numele pluginului va fi legat la această adresă în notificarea privind solicitarea pluginului.Aveți trei opțiuni pentru a face utilizatorii să instaleze pluginuri cu Activare Plug-in TGM: Puteți solicita un plugin din Directorul Plugin-ului WordPress, dintr-o sursă externă (cum ar fi propriul server sau CDN) sau din dosarul temei /my-theme/plugins/shortcodes.zip
).
'BuddyPress', 'slug' => 'buddypress', 'required' => false, // acest plugin este recomandat)); ?>
'Pluginul meu minunat', 'slug' => 'meu-awesome-plugin', 'source' => 'http://files.my-website.com/my-awesome-plugin.zip', 'required' > true, // acest plugin este obligatoriu 'external_url' => 'http://my-website.com/introducing-my-awesome-plugin', // pagina pluginului meu force_deactivation '=> true, // deactivate acest plugin atunci când utilizatorul trece la o altă temă)); ?>
'My Slider Super Sleek', 'slug' => 'my-super-elegant-slider', 'source' => get_stylesheet_directory (). '/lib/plugins/my-super-sleek-slider.zip', // sursa "internă" a pluginului. 'required' => true, // acest plugin este necesar 'version' => '1.2', // utilizatorul trebuie să folosească versiunea 1.2 (sau mai mare) din acest plugin 'force_activation' => false, // plugin să rămână activat, cu excepția cazului în care utilizatorul comută la o altă temă)); ?>
Observați tgmpa ()
funcția cu doi parametri la sfârșitul exemplului nostru de cod? Al doilea parametru este $ config
variabilă care, de asemenea, se întâmplă să fie o matrice, la fel ca și $ pluginuri
parametru. După cum sugerează și numele, puteți configura biblioteca de activare a pluginului TGM cu această matrice. De asemenea, are propriul set de opțiuni pe care trebuie să le setați:
id
(șir) - Un ID unic pentru biblioteca de activare a pluginului TGM pe care le-ați implementat în tema dvs.. Acest lucru este de fapt foarte important: dacă un alt plugin utilizează de asemenea activarea pluginului TGM, diferitele coduri de identitate ar preveni conflictele.default_path
(șir) - Calea absolută prestabilită pentru pluginurile din interiorul temei. Când setați acest lucru, puteți folosi doar numele fișierului ZIP ca fiind sursă
parametru pentru plugin-ul dvs..meniul
(șir) - Meniul de meniu pentru pagina de instalare a pluginului.has_notices
(boolean) - Dacă este setat la Adevărat
, notificările de administrare sunt afișate pentru pluginurile recomandate / recomandate.închise cu
(boolean) - Dacă este setat la Adevărat
, utilizatorul poate "respinge" notificările.dismiss_msg
(șir) - dacă dismissable
opțiunea este setată la false, acest mesaj va fi afișat deasupra notificării de administrare.is_automatic
(boolean) - Dacă este setat la Adevărat
, pluginurile vor fi activate după ce utilizatorul este de acord să le instalați.mesaj
(șir) - HTML opțional pentru afișare înainte de tabela de pluginuri.siruri de caractere
(matrice) - încă un altul mulțime
care include mesajele care trebuie afișate. Puteți să le setați și ca șiruri translaționabile. Verificați example.php
fișier pentru a vedea lista completă a șirurilor de mesaje.'mytheme-tgmpa', // ID-ul dvs. unic TGMPA 'default_path' => get_stylesheet_directory (). '/ lib / plugins /', // calea absoluta 'meniu' => 'mytheme-install-required-plugins', // menu slug 'has_notices' => true, , // notificările NU sunt discutate 'dismiss_msg' => 'Într-adevăr, chiar trebuie să instalați aceste plugin-uri, bine?', // acest mesaj va fi afișat în partea de sus a lui nag 'is_automatic' => true, activați pluginurile după instalare 'message' => '', // mesajul de ieșire chiar înainte de tabelele de pluginuri' șiruri '=> array (); // Matricea de șiruri de mesaje pe care TGM Plugin Activation utilizează); ?>
După cum puteți vedea, nu este deloc imposibil să oferiți funcționalitate cu teme WordPress - trebuie doar să vă gândiți la utilizatori atunci când trec de la tema la alta. Biblioteca de activare a plug-in-urilor TGM oferă o modalitate foarte inteligentă de ao juca de carte.
Ce credeți despre acest instrument? Ați folosit-o vreodată sau intenționați să o utilizați în viitor? Spuneți-ne ce credeți, comentând mai jos. Și dacă ți-a plăcut acest articol, nu uita să o împărți cu prietenii tăi!