Istraktura ng template ng WordPress - dapat malaman ito ng lahat! Paged na output (PHP at MySQL)

Hi sa lahat! Ngayon ay titingnan natin ang istraktura ng anumang template ng website ng WordPress. mula saan base file at mga elementong ito ay binuo. Ang kaalamang ito ay magbibigay sa iyo ng kumpiyansa sa pagbabago at pag-edit ng mga template ng ibang tao. At pagkatapos, kung mayroon pangunahing kaalaman HTML, CSS, at PHP, lumikha ng iyong sarili sariling tema. Ngunit sa ngayon ay hindi tayo titingin ng ganoon kalayo, magsimula tayo sa mga pangunahing kaalaman.

Ang mga pangunahing file ng anumang template. Ang kanilang layunin.

At kaya, ang anumang template ay dapat na likas na binubuo ng 10 pangunahing mga file. Kaya intindihin natin sila.

Halimbawang istraktura Template ng WordPress

style.css— template style sheet file. Anumang tema ay dapat magkaroon ng file na ito, dahil responsable ito para sa deklarasyon nito at maaari ding mag-imbak karagdagang impormasyon: pangalan ng may-akda ng template, bersyon ng template, home page may-akda, atbp. At, siyempre, ang direktang layunin ay ang lahat ng mga estilo ng CSS.

index.php— ang file ay responsable para sa pagpapakita ng pangunahing Mga pahina ng WordPress template. Kapag inilalagay ang iyong mga layout, laging tandaan iyon home page maaaring maging static o dynamic.

single.php— isang file na responsable para sa pag-output ng bawat indibidwal na post ng iyong paksa. Isang halimbawa ang artikulong ito na iyong binabasa.

page.php— ang file ay responsable para sa pagbuo ng mga static na pahina. Kadalasan ito ay mga pahina: mga contact, tungkol sa may-akda, tungkol sa mapagkukunan, atbp.

header.php— bumubuo ng header ng site, at iniimbak ang lahat ng mahahalagang meta tag para sa promosyon.

footer.php— ang file ay responsable para sa pagpapakita ng footer ng site.

sidebar.php— bumubuo ng pagpapakita ng isang sidebar o, sa Russian, isang side column ng isang blog o website.

functions.php- file na responsable para sa karagdagang pag-andar template. Halimbawa: ang output ng mga pinakabagong komentarista sa aking blog ay nabuo sa file na ito.

comments.php— ang file ay responsable para sa pagpapakita ng mga komento para sa template.

404.php— ay responsable para sa pagpapakita ng isang pahina na may 404 error.

paghahanap.php— ang file na responsable para sa pagpapakita ng pahina ng paghahanap.

Opsyonal na mga file. Ngunit kailangan mong malaman ang tungkol sa kanilang pag-iral.

kategorya.php— ang file ay may pananagutan sa pagpapakita ng mga anunsyo sa mga kategorya (kung walang file, ang pagbuo ay isinasagawa gamit ang index.php file)

tag.php— ang file ay responsable para sa pagpapakita ng mga anunsyo sa pahina ng mga tag (kung walang file, ang pagbuo ay isinasagawa gamit ang index.php file)

taxonomy.php— ang file ay responsable para sa pagpapakita ng mga anunsyo sa mga pahina ng taxonomy (kung walang file, ang pagbuo ay isinasagawa gamit ang index.php file)

may-akda.php— ang file ay responsable para sa pagpapakita ng mga anunsyo ng mga artikulo ng isang partikular na may-akda (kung walang file, ang pagbuo ay isinasagawa gamit ang index.php file)

attachment.php— ay responsable para sa pag-output ng naka-attach na file.

searchform.php— ay responsable para sa paglikha ng form ng paghahanap.

Kung ang iyong template ay naglalaman ng mga file mula sa opsyonal na listahan, dapat mong malaman na palagi silang may mas mataas na priyoridad kaysa sa index.php file. Maaari itong ipaliwanag sa pamamagitan ng katotohanan na ang index.php ay isang pangkalahatang kaso, at sabihin nating ang tag.php ay isa nang partikular na kaso. Ang mga iyon ay mas tiyak, samakatuwid, kailangan nilang mapansin.

Ano ang nakaimbak sa mga folder?

Ang mga folder ay karaniwang ginagamit para sa imbakan tiyak na uri mga file. Halimbawa: ang folder (larawan, mga imahe, img, atbp.) ay nag-iimbak ng mga file ng imahe na nauugnay sa paksang ito. Ang JS folder ay nag-iimbak ng mga script file. Nag-iimbak ang inc folder php file, na kasama (kasama) sa umiiral na mga file mga paksa.

Maaaring mayroong anumang bilang ng mga naturang folder, at maaari silang magkaroon ng iba't ibang pangalan. Ang kanilang kakanyahan ay upang alisin ang gulo sa template at dalhin ang lahat sa ilang uri ng hierarchy.

Screenshot.png - anong uri ng hayop ito?

Karaniwan, ang file na ito ay naglalaman ng isang screenshot ng template upang sa admin panel, kapag pumili ka ng tema para sa isang website o blog, makikita mo ito bilang isang thumbnail. Ang laki ng file na ito ay dapat na 880x660px.

Visual na representasyon ng istraktura ng template

Sketchy imahe ng wordpress template

Tulad ng nakikita mo, ang istraktura sa larawan ay tumutugma sa istraktura ng aking blog. Sa kabila ng katotohanang iba ang hitsura ng mga template mula sa iba't ibang may-akda, lahat sila ay batay sa mga file sa itaas.

upd: Mag-ingat, ang teksto ay naglalaman ng panunuya at code-breaking

Wika PHP programming nagmula noong 1995 at isang produkto ng panahon ng kapanganakan modernong web mga pamantayan tulad ng http (bersyon 1.0 - 1996), html (bersyon 2.0 - 1995), javascript (1995), url (1990 - 1994). Sa una, ang abbreviation php ay nakatayo para sa Personal Home Page Tools, pagkatapos ay binago sa Hypertext Preprocessor o "hypertext preprocessor". Tungkol sa gamit ang PHP bilang isang preprocessor at tatalakayin sa mga susunod na talata.

Ang PHP interpreter ay nagpapahintulot sa iyo na magpasok ng mga espesyal na tag sa anumang teksto, kung saan maaari mong ipasok sa pahina dynamic na nilalaman, na napaka-maginhawang gamitin sa loob html na mga dokumento. Ang resulta na nakuha ay agad na ipinadala sa karaniwang aparato output, na kilala bilang stdout (tingnan para sa higit pang mga detalye). Posibleng i-buffer ang output hanggang kailanganin sa pamamagitan ng ob_start function, ngunit para sa una namin html na mga pahina Hindi mo ito kakailanganin. Ang pinakahuling pamantayan ng html, numero 5, ay nagpakilala ng ilang bagong mga tag upang pasimplehin ang markup at gawing mas nababasa at semantiko ang web (anuman ang ibig sabihin nito). Samakatuwid, agad nating samantalahin ang buong kapangyarihan ng HTML5 at magsulat ng template ng page na may mga insert gamit ang preprocessor na pinag-uusapan.

I-save natin ang page na ito sa index.html file. Kasama sa pagpapagana ng blog sa unang bersyon nito ang pag-iimbak ng mga publikasyon sa html form mga pahina sa loob ng isang paunang natukoy na direktoryo (halimbawa mga pahina/) at isang menu na nagbibigay-daan sa iyong direktang pumunta sa gustong publikasyon.

Isang halimbawa ng isang publikasyon na ipapakita sa isang blog feed.

Magdagdag tayo ng mga pahina/ direktoryo sa ugat ng proyekto at i-save ang aming artikulo sa ilalim ng isang arbitrary na pangalan, halimbawa 2018-trends.html.

Ngayon kailangan namin ng isang web server upang iproseso ang mga papasok na mensahe mga kahilingan sa http mula sa mga user, at isang server ng application para sa lohika ng negosyo. Upang hindi lumikha ng mga hindi kinakailangang entity, magsusulat kami ng isang maliit na programa sa Go programming language, na gaganap bilang isang web server at naglalaman ng blog code. Upang ilipat ang mga kahilingan ng user mula sa host program patungo sa preprocessor, gagamitin namin karaniwang stream input (stdin), upang i-serialize ang data ay gagamitin namin ang sikat na format para sa serialization ng data - json.

Script para sa pagproseso ng data ng input:

Blog code:

main.go

pangunahing import ng package ("encoding/json" "io/ioutil" "net/http" "os/exec" "strings" "github.com/labstack/echo") func main() ( e:= echo.New() e.GET("/", index) e.GET("/pages/:page", index) e.Start(":8000") ) error sa func index(c echo.Context) ( outData:= struct ( Menu string `json:"menu"` Pages string `json:"pages"` )() outData.Menu = make(string, 0) outData.Pages = make(string, 0) page:= c.Param("page" ) file, _ := ioutil.ReadDir("mga pahina") para sa _, file:= range files ( if !file.IsDir() ( outData.Menu = append(outData.Menu, file.Name()) ) if page != "" && page == file.Name() ( fbody, _ := ioutil.ReadFile("pages" + "/" + file.Name()) outData.Pages = append(outData.Pages, string(fbody )) ) else if page == "" ( fbody, _ := ioutil.ReadFile("pages" + "/" + file.Name()) outData.Pages = append(outData.Pages, string(fbody)) ) ) rendered:= renderContent(outData) return c.HTMBLlob(http.StatusOK, rendered) ) func renderContent(input interface()) byte ( jsonInput, _ := json.Marshal(input) tmplEngine:= exec.Command("php ", "-f", "index.php") tmplEngine.Stdin = strings.NewReader(string(jsonInput)) rendered, _ := tmplEngine.Output() return render )


Ngayon inilunsad namin ang programa sa pamamagitan ng go run at gumawa ng isang kahilingan sa pahina sa pamamagitan ng anumang browser, halimbawa sa ganitong paraan:

Links2 http://localhost:8000

Ang resulta ay ipinakita sa KDPV.

Maaaring mapansin ng isang matanong na mambabasa na malaki ang mawawala sa atin sa pagiging produktibo sa pamamagitan ng paglulunsad ng proseso ng PHP para sa bawat kahilingan. Ang puntong ito ay madaling ma-optimize gamit ang mekanismo

Sa Aralin 1 at 2, natutunan mo na ang kaunti tungkol sa PHP at nag-set up (o nag-access) ng server. Ngayon handa na kaming lumikha ng aming unang pahina ng PHP. Ito ay magiging madali at simple, ngunit pagkatapos ng araling ito ay marami ka nang malalaman tungkol sa PHP.

Karaniwan ang PHP file ay isang text file na may extension .php, na binubuo ng:

  • Text
  • Mga HTML tag
  • Mga script ng PHP

Pamilyar ka na sa mga text at HTML tag. Ngayon, tumuon tayo sa mga script ng PHP.

Mga script ng PHP

Ang PHP Documentation Group ay naglabas ng detalyadong dokumentasyon. Mayroong maraming mga link sa dokumentasyong ito sa buong tutorial na ito. Ang layunin ay upang masanay ka sa paghahanap ng mga sagot sa iyong mga katanungan. Ang PHP ay napakalawak na hindi ito maaaring saklawin sa tutorial na ito. Ngunit ang PHP ay medyo simple! Bukod dito, ang wikang PHP ay kadalasang medyo katulad ng regular na Ingles.

Simulan natin ang pagbuo ng iyong unang pahina sa PHP.

Halimbawa: Hello World!

Simulan natin ang paglikha ng isang regular na HTML na dokumento, ngunit tawagan natin ang file page.php at ilagay ito sa root directory ng site. Kung gumagamit ka ng XAMPP (tingnan ang Aralin 2), ang landas patungo sa file sa iyong computer (na ngayon ay ang server) ay magiging "c:\xampp\htdocs\page.php".

Ang HTML code ay dapat magmukhang ganito:

Ang aking unang pahina ng PHP

Tulad ng malamang na naaalala mo mula sa unang aralin, PHP nagbibigay ng mga utos sa server. Kaya't magsulat tayo ng isang utos sa server.

Una kailangan nating sabihin sa server kung nasaan ang PHP code nagsisimula At nagtatapos. Sa mga tag ng PHP At ?> ay ginagamit upang markahan ang simula at pagtatapos ng mga bloke ng PHP code na dapat isagawa ng server (sa karamihan ng mga server ay sapat na itong gamitin bilang panimulang tag, ngunit ay magiging mas tama sa unang pagkakataong gumamit ka ng PHP.)

Subukan nating idagdag ang bloke ng code na ito sa iyong HTML code:

Ang aking unang pahina ng PHP Hello World!"; ?>

Kung titingnan mo ang dokumentong PHP na ito sa isang browser, magiging ganito ang hitsura nito:

Ngunit magiging kawili-wiling tingnan ang HTML code sa browser (pagpili ng "tingnan ang pinagmulan"):

Wala na ang mga PHP code! Mula sa unang aralin, naaalala mo na ang server lamang ang makakakita ng mga PHP code - nakikita lang ng kliyente (browser program) ang resulta!

Tingnan natin kung ano ang mangyayari. Hinihiling namin sa server na magsulat

Hello World!

. Sa mas teknikal na mga termino, ginagamit namin ang echo string function upang magsulat ng isang espesyal na string sa kliyente, na may mga semicolon na nagpapahiwatig ng pagtatapos ng command. Ngunit huwag mag-alala! Sa tutorial na ito susubukan naming gumamit ng teknikal na terminolohiya sa pinakamababa.

Ang aming unang halimbawa ay malinaw na hindi masyadong kahanga-hanga. Ngunit huwag magmadali! Ngayon ang mga bagay ay magiging mas kawili-wili. Tingnan natin ang isa pang halimbawa.

Halimbawa: Ngayon!

Pilitin natin ang server na magsulat ng iba. Maaari naming, halimbawa, hilingin dito na i-output ang kasalukuyang petsa at oras:

Ang aking unang pahina ng PHP

Sa browser makikita natin:

Kaugnay na HTML code:

Ito ay nagiging mas kawili-wili, hindi ba?

Ipinapakita ng server ang petsa at oras kapag nag-render ng pahina ng PHP. Pakitandaan na kapag ni-refresh mo ang page sa iyong browser, ipapakita ang bagong oras. Ipinapakita ng server ang kasalukuyang petsa at oras tuwing ipinapadala ang pahina sa kliyente.

Tandaan din na ang HTML ay naglalaman lamang ng petsa at oras, ngunit hindi PHP code. Samakatuwid, ang halimbawang ito ay independyente kung aling browser ang ginagamit. Sa katotohanan, ang lahat ng pag-andar ay ginanap server teknolohiya at palagi gumagana sa lahat ng browser!

Gumawa ng file na pinangalanang hello.php at ilagay ito sa root directory ng iyong web server (DOCUMENT_ROOT) na may sumusunod na nilalaman:

Halimbawa #1 Ang aming unang PHP script: hello.php



Pagsubok sa PHP


Hello Mundo

" ; ?>



Gamitin ang iyong browser upang ma-access ang file gamit ang URL ng iyong web server, na nagtatapos sa /hello.php sanggunian ng file. Kapag nabuo nang lokal ang URL na ito ay magiging katulad nito http://localhost/hello.php o http://127.0.0.1/hello.php ngunit ito ay depende sa configuration ng web server. Kung ang lahat ay na-configure nang tama, ang file na ito ay mapapa-parse ng PHP at ang sumusunod na output ay ipapadala sa iyong browser:

Pagsubok sa PHP

Hello Mundo



Ang program na ito ay napaka-simple at talagang hindi mo kailangang gumamit ng PHP upang lumikha ng isang pahinang tulad nito. Ang lahat ng ginagawa nito ay ipinapakita: Hello Mundo gamit ang PHP echo pahayag Tandaan na ang file hindi kailangang maisakatuparan o espesyal sa anumang paraan. Nalaman ng server na ang file na ito ay kailangang bigyang-kahulugan ng PHP dahil ginamit mo ang ".php" na extension, na na-configure ng server na ipasa sa PHP. Isipin ito bilang isang normal na HTML file na nangyayari na mayroong isang set ng mga espesyal na tag na magagamit mo na gumagawa ng maraming kawili-wiling bagay.

Kung sinubukan mo ang halimbawang ito at wala itong nailabas, nag-prompt ito para sa pag-download, o makikita mo ang buong file bilang teksto, malamang na ang server na iyong kinaroroonan ay hindi pinagana ang PHP, o hindi na-configure nang maayos.

Hilingin sa iyong administrator na paganahin ito para sa iyo gamit ang kabanata ng Pag-install ng manwal. Kung lokal ka sa pagbuo, basahin din ang kabanata ng pag-install upang matiyak na ang lahat ay na-configure nang maayos. Tiyaking naa-access mo ang file sa pamamagitan ng http gamit ang server na nagbibigay sa iyo ng output. Kung tatawagin mo lang ang file mula sa iyong file system, hindi ito ma-parse ng PHP. Kung magpapatuloy pa rin ang mga problema, huwag mag-atubiling gamitin ang isa sa maraming mga opsyon. Ang punto ng halimbawa ay upang ipakita ang espesyal na format ng PHP tag. ?> Sa halimbawang ito ginamit namin

upang ipahiwatig ang simula ng isang PHP tag. Pagkatapos ay inilagay namin ang PHP statement at umalis sa PHP mode sa pamamagitan ng pagdaragdag ng closing tag,: . Maaari kang tumalon sa PHP mode sa isang HTML file na tulad nito kahit saan mo gusto. Para sa higit pang mga detalye, basahin ang manu-manong seksyon sa pangunahing PHP syntax.

Tandaan ?> Isang Tala sa Mga Line Feed ?> Ang mga line feed ay may kaunting kahulugan sa HTML, gayunpaman, magandang ideya pa rin na gawing maganda at malinis ang iyong HTML sa pamamagitan ng paglalagay ng mga line feed. Isang linefeed na kasunod kaagad pagkatapos ng pagsasara

upang ipahiwatig ang simula ng isang PHP tag. Pagkatapos ay inilagay namin ang PHP statement at umalis sa PHP mode sa pamamagitan ng pagdaragdag ng closing tag,: Isang Tala sa Mga Text Editor

Maraming text editor at Integrated Development Environment (IDE) na magagamit mo para gumawa, mag-edit at mamahala ng mga PHP file. Ang isang bahagyang listahan ng mga tool na ito ay pinananatili sa »Listahan ng Mga Editor ng PHP. Kung nais mong magrekomenda ng editor, mangyaring bisitahin ang pahina sa itaas at hilingin sa tagapangasiwa ng pahina na idagdag ang editor sa listahan. Makakatulong ang pagkakaroon ng editor na may syntax highlighting.

upang ipahiwatig ang simula ng isang PHP tag. Pagkatapos ay inilagay namin ang PHP statement at umalis sa PHP mode sa pamamagitan ng pagdaragdag ng closing tag,: Isang Tala sa Word Processor

Ang mga word processor tulad ng StarOffice Writer, Microsoft Word at Abiword ay hindi pinakamainam para sa pag-edit ng mga PHP file. Kung nais mong gumamit ng isa para sa pansubok na script na ito, dapat mong tiyakin na nai-save mo ang file bilang payak na teksto o hindi magagawang basahin at isagawa ng PHP ang script.

upang ipahiwatig ang simula ng isang PHP tag. Pagkatapos ay inilagay namin ang PHP statement at umalis sa PHP mode sa pamamagitan ng pagdaragdag ng closing tag,: Isang Tala sa Windows Notepad

Kung isinusulat mo ang iyong mga PHP script gamit ang Windows Notepad, kakailanganin mong tiyakin na ang iyong mga file ay nai-save gamit ang .php extension.

(Ang Notepad ay nagdaragdag ng .txt na extension sa mga file nang awtomatiko maliban kung gagawin mo ang isa sa mga sumusunod na hakbang upang maiwasan ito.) Kapag na-save mo ang file at sinenyasan na magbigay ng pangalan para sa file, ilagay ang filename sa mga quote (i.e. " hello.php "). Bilang kahalili, maaari kang mag-click sa drop-down na menu na "Mga Teksto na Dokumento" sa dialog box na "I-save" at baguhin ang setting sa "Lahat ng Mga File". Maaari mong ipasok ang iyong filename nang walang mga panipi. Ngayong matagumpay kang nakagawa ng gumaganang PHP script, oras na para lumikha ng pinakasikat na PHP script! Tumawag sa phpinfo()

function at makakakita ka ng maraming kapaki-pakinabang na impormasyon tungkol sa iyong system at setup tulad ng mga available na predefined variable , load PHP modules, at configuration settings. Maglaan ng ilang oras at suriin ang mahalagang impormasyong ito.