WordPress Plugin kotlovska ploča 101: Kako započeti

Od nastanka WordPress dodataka prije desetak godina nije se mnogo promijenilo način na koji ih pišemo. Postoji glavna datoteka dodataka s zaglavljem, a zapravo slijedi Wild West. Osim korištenja kuka, ne postoji standardizirani način izrade dodataka.


To nije nužno problem. Postoji mnogo jednostavnih dodataka za koje ne treba upravljački okvir, a postoje i neki ljudi koji mogu napisati savršeno skladan proceduralni kodeks. U skladu s tim, kvaliteta koda u dodacima općenito nije najbolja, okvir ili metodologija uvelike bi ga poboljšali.

U ovom ćemo članku pogledati jedno moguće rješenje – WordPress dodatak na kotlovskoj ploči. Zamišljeno je kao početna točka za razvoj dodataka, objektno orijentirani način stvaranja standardiziranog dodatka. Budući da je kodiran s OOP principima, uglavnom je namijenjen za srednje kodire, ali lako ga možete koristiti i kao početnik ako znate što ide kamo. Na kraju ovog članka trebali biste znati što je i kako započeti s tim – bez obzira na vaše iskustvo kodiranja.

Opća struktura datoteka

Ploča za kotlov zamišljena je da se koristi kao Github skladište, tako da glavni direktorij sadrži datoteke koje se obično nalaze u Github repos. Datoteka README.md općenito je čitanje i prikazuje se na vašoj glavnoj stranici spremišta kao opis. Datoteka CHANGELOG.md služi za snimanje promjena između verzije i .gitignore datoteke za postavljanje datoteka koje git treba zanemariti prilikom rada s datotekama.

Glavna mapa ovdje-ime dodatka je mjesto gdje se dodatak pohranjuje. Njegova struktura slijedi WordPress spremište, a možete "prijava" ovu mapu za repo SVN dodatka. Prema zadanim postavkama sadrži mapu imovine koja pohranjuje slike i snimke zaslona vašeg dodatka te mapu trunk koja sadrži kôd za dodatak.

Mapa trunk je ono što sadrži dodatak, tu mapu možete zalijepiti u WordPress instalaciju i aktivirati svoj dodatak. Malo ćemo detaljnije pogledati sadržaj ove mape. Prije nego što to učinimo, postavimo trgovinu.

Novi-plugin

Postavljanje sve gore

Imati sve te mape i SVN / Git fantastičnost na jednom mjestu je sve dobro i dobro, ali kako to zapravo možete koristiti? Ne možete provjeriti čitavu mapu izravno u mapu dodataka, to jednostavno neće raditi. Provjera samo mape trunk-a je gnjavaža, plus što nećete imati pristup datotekama izvan te mape.

Dopustite da vam pokažem moj omiljeni način postavljanja stvari. Na računalu imam mapu sa sljedećom strukturom:

  • Github
    • Top-autori
    • Jednostavan Istaknuti-slike
    • Twitter User-Rokovi
  • hTML
    • wp-admin
    • wp-sadržaja
    • wp-obuhvaća
    • ostale datoteke za WordPress
  • wordPress
    • top-autori
    • lako opremljenog-slike
    • twitter-korisničke vremenske skale

Html mapa je mjesto na kojem je instaliran WordPress. Github mapa sadrži sve moje WordPress dodatke iz Github-a. WordPress mapa sadrži iste dodatke izvučene putem SVN-a iz WordPress spremišta.

Izrada Symlink-a

Prvi korak koji radim je stvaranje vanilijeve verzije WordPress Plugin Boilerplate na Githubu. Potom to provjerim u svojoj github mapi. Zatim kreiram simboliku između mape trunk-a unutar mape wp-content / plugins u programu WordPress..

Znakovne veze referenca su na datoteku ili mapu koja se odlučuje na cilj kao što biste očekivali. Krajnji rezultat toga je da ako povezujete dodatak s bilo kojeg mjesta na vašem sustavu na vaš WordPress direktorij, on će raditi sasvim u redu. To vam daje sljedeće prednosti:

  • Dodate možete pohraniti drugdje.
  • Možete povezati mapu iz većeg spremišta.
  • Možete povezati isti dodatak u više instalacija.

Stvaranje veze veze jednostavno je s terminala ili naredbenog retka u sustavu Windows. Predlažem da otvorite jedan i prijeđete se do direktorija dodataka vaše WordPress instalacije. Zatim upišite sljedeću naredbu:

# Za OSX ili Linux
ln -s / apsolutna / staza / do / github / My-Plugin-Name / my-plugin-name / trunk my-plugin-name

# Za Windows
mklink / j C: \ apsolutna \ put \ do \ github \ My-Plugin-Name my-plugin-name

Ovo stvara vezu s prvog puta na drugi. Prvi put je apsolutni put do direktorija prtljažnika u vašem Github spremištu. Drugo je samo ime mape na koju ga želite povezati kada se već nalazite u direktoriju dodataka svoje WordPress instalacije.

Nakon završetka trebao bi se prikazati vaš novi dodatak, kao na gornjoj slici. Trebat ćemo prilagoditi stvari, ali sada se naš dodatak pokreće iz Github-ovog spremišta, što razvoj čini mnogo lakše.

Preimenovanje

Postoji puno mapa i datoteka u direktoriju prtljažnika, krenimo ih preimenovati! Prije svega, preporučujem vam da svoje spremište imenujete crticama i velikim slovima, ovako nešto: My-Awesome-Plugin. Glavna mapa unutar trebala bi biti nazvana “moj-strašan dodatak”. Preporučujem upotrebu ove konvencije u dodatku.

Preimenovanje datoteka u OSX-u je jednostavno. Otvorite sve mape i odaberite sve datoteke koje u njima imaju naziv dodatka za niz. Desnim klikom preimenujte svih 14 datoteka i seriju preimenujte seriju.

preimenovati

Bit će malo teže u sustavu Windows, pogledajte ovo HowToGeek članak za više informacija ili idite samo jedan po jedan.

Pojmovi poput "plugin-name" i ostale varijacije raspoređene su i po cijelom sadržaju datoteke. Možeš koristiti Uzvišen, Atom.io ili druge sposobne uređivače teksta za masovnu zamjenu u više datoteka. Ovdje je popis onoga što biste trebali zamijeniti (obavezno izvršite zamjene s velikim slovom).

  • PLUGIN_NAME trebao postati moj_awesome_plugin
  • PLUGIN_NAME trebao postati My_Awesome_Plugin
  • plugin-name trebao postati moj-strašan dodatak

Nakon što završite, ispunite komentar zaglavlja glavne datoteke (my-awesome-plugin.php) da biste ga prilagodili svojim potrebama.

Sadržaj

Postoji puno sadržaja na WordPress Plugin Boilerplate. Ideja je postaviti stroge smjernice o tome gdje možete staviti stvari. Na primjer, postoji jedno posebno mjesto za dodavanje kuka, standardno mjesto za dodavanje prednjih funkcija i tako dalje. Pogledajmo glavne dijelove okvira.

Imajte na umu da ću se na datoteke odnositi kako su preimenovani, na primjer: include / class-my-awesome-plugin.php. Ako ste svoj dodatak preimenovali u nešto drugo, morat ćete imati na umu da će dio mog fantastičnog dodatka za naziv datoteke biti drugačiji za vas.

Aktivacija, deaktivacija i deinstalacija

Svaki kod koji želite pokrenuti kad se dodatak aktivira treba uključiti / my-awesome-plugin-name-activator.php. U ovoj se datoteci nalazi klasa koja se zove My_Awesome_Plugin_Activator unutar koje postoji metoda activate () koju biste trebali koristiti.

Ne brinite ako još uvijek ne ubrzavate predmete, dovoljno je da znate gdje da stavite stvari.

Kôd koji trebate pokrenuti prilikom deaktivacije treba staviti u uključuje / moj-strašan-dodatak-ime-deaktivator.php. Morate koristiti metodu activate () unutar My_Awesome_Plugin_Deactivator..

Mislite li da je ovo malo previše složeno? Ne krivim te! Kada počnete koristiti objektivno orijentirane koncepte, vidjet ćete korist od toga nad proceduralnim kodom. Ako ništa drugo, ono pruža vrlo očigledno mjesto za postavljanje koda što je samo po sebi velika pomoć.

Za deinstalaciju preporučena je metoda uninstall.php, što je ono što WordPress Plugin Boilerplate radi. Vaš kôd treba biti smješten na dnu te datoteke.

Dodavanje kuka

Kuke na WordPress Plugin Boilerplate nevjerojatno djeluju, ali u početku se može činiti pomalo nespretnim. Sve vaše udice treba smjestiti unutar / class-my-awesome-plugin.php. Konkretnije, unutar klase My_Awesome_Plugin, unutar dvije metode:

  • define_public_hooks () prilikom dodavanja kuka koja se koristi na prednjem kraju
  • define_admin_hooks () kada dodajete udicu koja se koristi na stražnjoj strani

Umjesto da dodavanje () ili add_filter () upotrebljavate kao i obično, morat ćete raditi nešto drugačije. Evo kako, na primjer, mijenjate sadržaj posta.

$ ta->utovarivač->dodavanje (‘the_content’, $ plugin_public, ‘modify_post_content’);

Prvi parametar je naziv udice, a drugi je referenca na javni ili administratorski objekt. Za javne udice to bi trebao biti $ plugin_public, za administracijske kuke trebao bi biti $ plugin_admin. Treći parametar je funkcija kuka.

Iako se čini isprepleteni, u potpunosti se standardizira dodavanje kukica i cijepa ih u dvije različite skupine.

Javni i administrativni sadržaj

WordPress Plugin Boilerplate dijeli kuke na administrativne / javne grupe, ali to nije sve. Sve kodove dijeli na isti način tražeći od vas da u javnu mapu napišete kôd koji je okrenut prema javnosti, a kôd koji je okrenut prema administratoru u administrativnoj mapi.

Obje mape sadrže css, js i fascikle. Korišteni CSS / JS imovinu trebali biste smjestiti u te mape i u mapu partials upisati predloške i druge bitove HTML-a za višekratnu upotrebu. U redu je stvoriti nove datoteke u mapi s partizanima, u stvari je to za to!

Svoje priključene funkcije trebali biste upisati i u te mape, unutar klase u odgovarajućim direktorijima. Kada smo funkciju modify_post_content spojili na gornji dio_content, rekli smo WordPress Plugin Boilerplate gdje da je potražimo. Budući da smo ovo dodali javnosti okrenutoj, WordPress Plugin Boilerplate očekuje da će biti definirano unutar klase My_Awesome_Plugin_Public koja se nalazi u javnoj mapi. Jednostavno stvorite ovu funkciju unutar klase i napišite sve ostalo kao i obično.

Resursi i ovisnosti

Ako želite koristiti vanjske resurse, kao što su Aktivacija TGM dodatka, trebali biste to dodati u mapu s uključenim brojevima. TGM je jedna datoteka nazvana class-tgm-plugin-activation.php koja bi trebala biti uključena u datoteku class-my-awesome-plugin.php, unutar metode load_dependitions ():

Requ_once plugin_dir_path (dirname (__FILE__)). ‘Obuhvaća /-klase TGM-čep-activation.php’;

Pregled

Zbunjuju li vas sva imena datoteka i funkcije? Ne brinite, vrlo brzo ćete se objesiti. Zapravo obično izmijenite samo tri datoteke:

  • uključuje / class-my-awesome-plugin.php je mjesto gdje dodajete sve svoje kuke i ovisnosti.
  • public / class-my-awesome-plugin-public.php je mjesto gdje dodajete sve javne funkcije okretanja.
  • admin / class-my-awesome-plugin-admin.php su tamo gdje idu sve funkcije okrenute administratoru.

U početku, korištenje WordPress Plugin Boilerplate može izgledati kao gnjavaža, ali na kraju će se isplatiti. Vratit ćete se godinu dana kasnije i znati gdje je sve, vaš razvoj dodataka će biti standardiziran u svim proizvodima, a drugi programeri moći će shvatiti što se događa..

Na kraju, ne zaboravite da dodatku koji pruža jednostavan widget možda ne treba takav okvir. Iako upotreba WordPress Plugin Boilerplate neće usporiti vaš dodatak, on će začepiti prikaz ako vam treba samo nekoliko jednostavnih redaka koda!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map