Struktur templat WordPress - semua orang harus mengetahuinya! Keluaran halaman (PHP dan MySQL)

Hai semua! Hari ini kita akan melihat struktur mana-mana templat laman web WordPress. Dari mana fail asas dan elemen yang dibina. Pengetahuan ini akan memberi anda keyakinan dalam menukar dan mengedit templat orang lain. Dan seterusnya, jika ada pengetahuan asas HTML, CSS dan PHP, buat sendiri tema sendiri. Tetapi buat masa ini kita tidak akan melihat sejauh itu, mari kita mulakan dengan asasnya.

Fail utama mana-mana templat. tujuan mereka.

Oleh itu, mana-mana templat semestinya terdiri daripada 10 fail asas. Jadi mari kita fahami mereka.

Contoh struktur Templat WordPress

style.css— fail helaian gaya templat. Mana-mana tema harus mempunyai fail ini, kerana ia bertanggungjawab untuk pengisytiharannya dan juga boleh menyimpan Maklumat tambahan: nama pengarang templat, versi templat, halaman rumah pengarang, dsb. Dan, sudah tentu, tujuan langsung adalah semua gaya CSS.

index.php— fail bertanggungjawab untuk memaparkan utama halaman WordPress templat. Apabila meletakkan susun atur anda, sentiasa ingat itu halaman rumah boleh sama ada statik atau dinamik.

single.php— fail yang bertanggungjawab untuk mengeluarkan setiap siaran individu topik anda. Contohnya ialah artikel yang sedang anda baca ini.

page.php— fail bertanggungjawab untuk menjana halaman statik. Biasanya ini adalah halaman: kenalan, tentang pengarang, tentang sumber, dsb.

header.php— membentuk pengepala tapak, dan menyimpan semua teg meta penting untuk promosi.

footer.php— fail bertanggungjawab untuk memaparkan pengaki tapak.

sidebar.php— membentuk paparan bar sisi atau, dalam bahasa Rusia, lajur sisi blog atau tapak web.

functions.php- fail yang bertanggungjawab fungsi tambahan templat. Sebagai contoh: output pengulas terkini di blog saya dijana dalam fail ini.

komen.php— fail bertanggungjawab untuk memaparkan ulasan untuk templat.

404.php— bertanggungjawab untuk memaparkan halaman dengan ralat 404.

carian.php— fail yang bertanggungjawab untuk memaparkan halaman carian.

Fail pilihan. Tetapi anda perlu tahu tentang kewujudan mereka.

category.php— fail bertanggungjawab untuk memaparkan pengumuman dalam kategori (jika tiada fail, maka pembentukan dijalankan menggunakan fail index.php)

tag.php— fail bertanggungjawab untuk memaparkan pengumuman pada halaman tag (jika tiada fail, maka pembentukan dijalankan menggunakan fail index.php)

taksonomi.php— fail bertanggungjawab untuk memaparkan pengumuman pada halaman taksonomi (jika tiada fail, maka pembentukan dijalankan menggunakan fail index.php)

pengarang.php— fail bertanggungjawab untuk memaparkan pengumuman artikel oleh pengarang tertentu (jika tiada fail, maka pembentukan dijalankan menggunakan fail index.php)

lampiran.php— bertanggungjawab untuk mengeluarkan fail yang dilampirkan.

searchform.php— bertanggungjawab untuk mencipta borang carian.

Jika templat anda mengandungi fail daripada senarai pilihan, maka anda harus tahu bahawa ia sentiasa mempunyai keutamaan yang lebih tinggi daripada fail index.php. Ini boleh dijelaskan oleh fakta bahawa index.php ialah kes umum, dan katakan tag.php sudah pun menjadi kes tertentu. Mereka lebih spesifik, oleh itu, mereka perlu dilihat.

Apa yang disimpan dalam folder?

Folder biasanya digunakan untuk penyimpanan jenis tertentu fail. Contohnya: folder (imej, imej, img, dsb.) menyimpan fail imej yang berkaitan dengan topik ini. Folder JS menyimpan fail skrip. Folder inc menyimpan fail php, yang disertakan (disertakan) dalam fail sedia ada Topik.

Terdapat beberapa bilangan folder sedemikian, dan ia boleh mempunyai nama yang berbeza. Intipati mereka adalah untuk menghapuskan kekacauan dalam templat dan membawa segala-galanya kepada beberapa jenis hierarki.

Screenshot.png - apakah jenis haiwan ini?

Biasanya, fail ini mengandungi tangkapan skrin templat supaya dalam panel pentadbir, apabila anda memilih tema untuk tapak web atau blog, anda boleh melihatnya sebagai lakaran kecil. Saiz fail ini hendaklah 880x660px.

Perwakilan visual struktur templat

Sketsa imej wordpress templat

Seperti yang anda lihat, struktur dalam gambar sepadan dengan struktur blog saya. Walaupun fakta bahawa templat daripada pengarang berbeza kelihatan berbeza, semuanya berdasarkan fail di atas.

upd: Berhati-hati, teks mengandungi sindiran dan pemecahan kod

Bahasa pengaturcaraan PHP berasal pada tahun 1995 dan merupakan produk era kelahiran web moden piawaian seperti http (versi 1.0 - 1996), html (versi 2.0 - 1995), javascript (1995), url (1990 - 1994). Pada mulanya, singkatan php bermaksud Alat Halaman Utama Peribadi, kemudian berubah menjadi Hypertext Preprocessor atau "hypertext preprocessor". Tentang menggunakan PHP sebagai prapemproses dan akan dibincangkan dalam beberapa perenggan seterusnya.

Jurubahasa PHP membolehkan anda memasukkan tag khas ke dalam mana-mana teks, yang boleh anda masukkan ke dalam halaman kandungan dinamik, yang sangat mudah digunakan di dalam dokumen html. Hasil yang diperoleh segera dihantar ke peranti standard output, dikenali sebagai stdout (lihat untuk butiran lanjut). Adalah mungkin untuk menampan output sehingga diperlukan melalui fungsi ob_start, tetapi untuk yang pertama halaman html Anda tidak akan memerlukan ini. Piawaian html terbaharu, nombor 5, memperkenalkan beberapa teg baharu untuk memudahkan penanda dan menjadikan web lebih mudah dibaca dan semantik (apa pun maksudnya). Oleh itu, mari segera memanfaatkan kuasa penuh HTML5 dan menulis templat halaman dengan sisipan menggunakan prapemproses yang berkenaan.

Mari simpan halaman ini ke fail index.html. Kefungsian blog dalam versi pertamanya akan termasuk menyimpan penerbitan dalam borang html halaman di dalam direktori yang dipratentukan (contohnya halaman/) dan menu yang membolehkan anda pergi terus ke penerbitan yang diingini.

Contoh penerbitan yang akan dipaparkan pada suapan blog.

Mari tambah halaman/ direktori pada akar projek dan simpan artikel kami di bawah nama sewenang-wenangnya, contohnya 2018-trends.html.

Kini kami memerlukan pelayan web untuk memproses mesej masuk permintaan http daripada pengguna, dan pelayan aplikasi untuk logik perniagaan. Untuk tidak mencipta entiti yang tidak perlu, kami akan menulis program kecil dalam bahasa pengaturcaraan Go, yang akan bertindak sebagai pelayan web dan mengandungi kod blog. Untuk memindahkan permintaan pengguna daripada program hos kepada prapemproses, kami akan gunakan aliran standard input (stdin), untuk menyiri data kami akan menggunakan format popular untuk penyiaran data - json.

Skrip untuk memproses data input:

Kod blog:

main.go

import utama pakej ("encoding/json" "io/ioutil" "net/http" "os/exec" "strings" "github.com/labstack/echo") func main() ( e:= echo.New() e.GET("/", indeks) e.GET("/pages/:page", indeks) e.Start(":8000") ) ralat indeks fungsi(c echo.Context) ( outData:= struct ( Menu rentetan `json:"menu"` Rentetan halaman `json:"halaman"` )() outData.Menu = buat(rentetan, 0) outData.Pages = buat(rentetan, 0) halaman:= c.Param("halaman" ) fail, _ := ioutil.ReadDir("halaman") untuk _, fail:= julat fail ( jika !file.IsDir() ( outData.Menu = append(outData.Menu, file.Name()) ) jika halaman != "" && halaman == file.Name() ( fbody, _ := ioutil.ReadFile("pages" + "/" + file.Name()) outData.Pages = append(outData.Pages, string(fbody )) ) lain jika halaman == "" ( 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 rendered )


Sekarang kami melancarkan program melalui go run dan membuat permintaan ke halaman melalui mana-mana penyemak imbas, contohnya dengan cara ini:

Pautan2 http://localhost:8000

Hasilnya dibentangkan pada KDPV.

Pembaca yang ingin tahu mungkin menyedari bahawa kami kehilangan banyak prestasi dengan melancarkan proses PHP untuk setiap permintaan. Titik ini boleh dioptimumkan dengan mudah menggunakan mekanisme

Dalam Pelajaran 1 dan 2, anda telah mempelajari sedikit tentang PHP dan menyediakan (atau mengakses) pelayan. Kini kami bersedia untuk membuat halaman PHP pertama kami. Ia akan menjadi mudah dan ringkas, tetapi selepas pelajaran ini anda akan mengetahui lebih banyak tentang PHP.

Biasanya fail PHP ialah fail teks dengan sambungan .php, yang terdiri daripada:

  • Teks
  • tag HTML
  • Skrip PHP

Anda sudah biasa dengan teks dan tag HTML. Sekarang mari kita fokus pada skrip PHP.

Skrip PHP

Kumpulan Dokumentasi PHP telah mengeluarkan dokumentasi terperinci. Terdapat banyak pautan ke dokumentasi ini sepanjang tutorial ini. Matlamatnya adalah untuk membiasakan anda mencari jawapan kepada soalan anda. PHP sangat luas sehingga ia tidak dapat dibincangkan dalam tutorial ini. Tetapi PHP agak mudah! Selain itu, bahasa PHP selalunya agak serupa dengan bahasa Inggeris biasa.

Mari mula membina halaman PHP pertama anda.

Contoh: Hello World!

Mari mulakan membuat dokumen HTML biasa, tetapi mari kita panggil fail itu page.php dan letakkannya dalam direktori akar tapak. Jika anda menggunakan XAMPP (lihat Pelajaran 2), laluan ke fail pada komputer anda (yang kini menjadi pelayan) ialah "c:\xampp\htdocs\page.php".

Kod HTML sepatutnya kelihatan seperti ini:

Halaman PHP pertama saya

Seperti yang anda mungkin ingat dari pelajaran pertama, PHP memberikan arahan kepada pelayan. Jadi mari kita tulis arahan kepada pelayan.

Mula-mula kita perlu memberitahu pelayan di mana kod PHP berada bermula Dan berakhir. Dalam tag PHP Dan ?> digunakan untuk menandakan permulaan dan penghujung blok kod PHP yang mesti dilaksanakan oleh pelayan (pada kebanyakan pelayan ia sudah memadai untuk digunakan sebagai tag permulaan, tetapi akan lebih betul apabila menggunakan PHP untuk kali pertama.)

Sekarang mari cuba tambahkan blok kod ini pada kod HTML anda:

Halaman PHP pertama saya Hai dunia!"; ?>

Jika anda melihat dokumen PHP ini dalam penyemak imbas, ia akan kelihatan seperti ini:

Tetapi ia akan menjadi menarik untuk melihat kod HTML dalam penyemak imbas (memilih "lihat sumber"):

Kod PHP hilang! Dari pelajaran pertama, anda ingat bahawa hanya pelayan boleh melihat kod PHP - pelanggan (program pelayar) hanya melihat hasilnya!

Mari lihat apa yang berlaku. Kami meminta pelayan untuk menulis

Hai dunia!

. Dalam istilah yang lebih teknikal, kami menggunakan fungsi rentetan gema untuk menulis rentetan khusus kepada pelanggan, dengan koma bertitik menunjukkan penghujung arahan. Tetapi jangan risau! Dalam tutorial ini kami akan cuba menggunakan istilah teknikal pada tahap minimum.

Contoh pertama kami jelas tidak begitu mengagumkan. Tetapi jangan tergesa-gesa! Sekarang perkara akan menjadi lebih menarik. Mari kita lihat contoh lain.

Contoh: Sekarang!

Mari paksa pelayan untuk menulis sesuatu yang lain. Kita boleh, sebagai contoh, memintanya untuk mengeluarkan tarikh dan masa semasa:

Halaman PHP pertama saya

Dalam penyemak imbas kita akan melihat:

Kod HTML yang berkaitan:

Ia menjadi lebih menarik, bukan?

Pelayan memaparkan tarikh dan masa apabila memaparkan halaman PHP. Sila ambil perhatian bahawa apabila anda memuat semula halaman dalam penyemak imbas anda, masa baharu akan dipaparkan. Pelayan memaparkan tarikh dan masa semasa setiap kali halaman dihantar kepada klien.

Ambil perhatian juga bahawa HTML hanya mengandungi tarikh dan masa, tetapi bukan kod PHP. Oleh itu, contoh ini adalah bebas daripada pelayar mana yang digunakan. Pada hakikatnya, semua fungsi dilakukan pelayan teknologi dan sentiasa berfungsi dalam semua pelayar!

Buat fail bernama hello.php dan letakkan dalam direktori akar pelayan web anda (DOCUMENT_ROOT) dengan kandungan berikut:

Contoh #1 Skrip PHP pertama kami: hello.php



Ujian PHP


Hai dunia

" ; ?>



Gunakan penyemak imbas anda untuk mengakses fail dengan URL pelayan web anda, berakhir dengan /hello.php rujukan fail. Apabila membangunkan secara tempatan URL ini akan menjadi seperti http://localhost/hello.php atau http://127.0.0.1/hello.php tetapi ini bergantung pada konfigurasi pelayan web. Jika semuanya dikonfigurasikan dengan betul, fail ini akan dihuraikan oleh PHP dan output berikut akan dihantar ke penyemak imbas anda:

Ujian PHP

Hai dunia



Program ini sangat mudah dan anda benar-benar tidak perlu menggunakan PHP untuk membuat halaman seperti ini. Semua yang dilakukannya ialah paparan: Hai dunia menggunakan PHP bergema kenyataan Perhatikan bahawa fail tidak perlu boleh dilaksanakan atau istimewa dalam apa jua cara. Pelayan mendapati bahawa fail ini perlu ditafsirkan oleh PHP kerana anda menggunakan sambungan ".php", yang pelayan dikonfigurasikan untuk dihantar kepada PHP. Fikirkan ini sebagai fail HTML biasa yang kebetulan mempunyai set tag khas yang tersedia untuk anda yang melakukan banyak perkara menarik.

Jika anda mencuba contoh ini dan ia tidak mengeluarkan apa-apa, ia menggesa untuk dimuat turun, atau anda melihat keseluruhan fail sebagai teks, kemungkinan besar pelayan yang anda gunakan tidak mendayakan PHP atau tidak dikonfigurasikan dengan betul. Minta pentadbir anda mendayakannya untuk anda menggunakan bab Pemasangan manual. Jika anda membangun secara tempatan, baca juga bab pemasangan untuk memastikan semuanya dikonfigurasikan dengan betul. Pastikan anda mengakses fail melalui http dengan pelayan memberikan anda output. Jika anda hanya memanggil fail daripada sistem fail anda, maka ia tidak akan dihuraikan oleh PHP. Jika masalah berterusan, jangan teragak-agak untuk menggunakan salah satu daripada banyak pilihan.

Maksud contoh adalah untuk menunjukkan format tag PHP khas. Dalam contoh ini kami gunakan untuk menunjukkan permulaan tag PHP. Kemudian kami meletakkan pernyataan PHP dan meninggalkan mod PHP dengan menambah tag penutup, ?> . Anda boleh melompat masuk dan keluar dari mod PHP dalam fail HTML seperti ini di mana sahaja anda mahu. Untuk butiran lanjut, baca bahagian manual pada sintaks PHP asas.

Catatan: Nota pada Suapan Talian

Suapan baris mempunyai sedikit makna dalam HTML, namun tetap merupakan idea yang baik untuk menjadikan HTML anda kelihatan bagus dan bersih dengan memasukkan suapan baris. Suapan talian yang menyusul serta-merta selepas penutupan ?> akan dialih keluar oleh PHP. Ini boleh menjadi sangat berguna apabila anda memasukkan banyak blok PHP atau memasukkan fail yang mengandungi PHP yang tidak sepatutnya mengeluarkan apa-apa Pada masa yang sama ia boleh menjadi agak mengelirukan Anda boleh meletakkan ruang selepas penutupan ?> untuk memaksa ruang dan suapan baris menjadi output, atau anda boleh meletakkan suapan baris eksplisit dalam gema/cetakan terakhir dari dalam blok PHP anda.

Catatan: Nota tentang Editor Teks

Terdapat banyak editor teks dan Persekitaran Pembangunan Bersepadu (IDE) yang boleh anda gunakan untuk mencipta, mengedit dan mengurus fail PHP. Senarai separa alat ini dikekalkan di » Senarai Editor PHP. Jika anda ingin mengesyorkan editor, sila lawati halaman di atas dan minta penyelenggara halaman menambah editor pada senarai. Mempunyai editor dengan penyerlahan sintaks boleh membantu.

Catatan: Nota tentang Pemproses Perkataan

Pemproses perkataan seperti StarOffice Writer, Microsoft Word dan Abiword tidak optimum untuk mengedit fail PHP. Jika anda ingin menggunakan satu untuk skrip ujian ini, anda mesti memastikan bahawa anda menyimpan fail sebagai teks kosong atau PHP tidak akan dapat membaca dan melaksanakan skrip.

Catatan: Nota pada Windows Notepad

Jika anda menulis skrip PHP anda menggunakan Windows Notepad, anda perlu memastikan bahawa fail anda disimpan dengan sambungan .php. (Notepad menambah sambungan .txt pada fail secara automatik melainkan anda mengambil salah satu daripada langkah berikut untuk menghalangnya.) Apabila anda menyimpan fail dan digesa untuk memberikan nama untuk fail, letakkan nama fail dalam petikan (iaitu " hello.php "). Sebagai alternatif, anda boleh mengklik pada menu lungsur turun "Dokumen Teks" dalam kotak dialog "Simpan" dan menukar tetapan kepada "Semua Fail". Anda kemudian boleh memasukkan nama fail anda tanpa petikan.

Sekarang anda telah berjaya mencipta skrip PHP yang berfungsi, tiba masanya untuk mencipta skrip PHP yang paling terkenal! Buat panggilan ke phpinfo() fungsi dan anda akan melihat banyak maklumat berguna tentang sistem dan persediaan anda seperti pembolehubah pratakrif yang tersedia, modul PHP yang dimuatkan dan tetapan konfigurasi. Luangkan sedikit masa dan semak maklumat penting ini.

Contoh #2 Dapatkan maklumat sistem daripada PHP