PHP kód a WordPressben – bevált gyakorlatok. Hogyan írjunk WordPress beépülő modult Példák a kód írására wp-ben

Sziasztok, a blogoldal kedves olvasói. Úgy döntöttem, hogy a mai kiadványt a cikkírás kérdésének szentelem HTML szerkesztő wordpress().

A helyzet az, hogy néha nem lehet vizuális szerkesztőt használni az adminisztrációs panelen (leggyakrabban ez a hosztolási problémák miatt van), és e nélkül a kezdő bloggerek számára meglehetősen nehéz lesz helyesen és szépen megtervezett cikkeket írni, mert egy egyszerű szerkesztő, amely kivétel nélkül mindenkinél működik, legalább .

Amikor először elkezdtem blogolni és megismerkedni a motorral, egyszerűen nem tudtam használni a vizuális szerkesztőt. Egyik további bővítmény sem segített rajtuk különböző verziók, sem más „tamburával táncolni”. Ezért akarva-akaratlanul el kellett sajátítanom a meglévő alapszerkesztőt, szerencsére addigra már eléggé jól ismertem a hipertext jelölőnyelvet.

Csak a HTML-szerkesztő használata a WordPressben

De nem is a HTML-ről volt szó, hanem a mindennapi és gyakran előforduló műveletek végrehajtásának kényelméről. Igen, az alapértelmezett WordPress szerkesztő lehetővé teszi a félkövér (STRONG címke) és a dőlt (EM) szedését, hivatkozások, idézetek, képek, számozott és pontozott listák beszúrását, különböző kódok kiemelését és .

De ez nem volt elég nekem, mert. a cikkek szövegében aktívan használtam különböző szintű belső címsorokat (H2-től H5-ig), speciális címkékkel kiemeltem a kódot (PHP, CSS stb.), és még sok mást is tettem.

Tehát mindent, ami nem szerepelt az alap WordPress szerkesztő szabványos eszközkészletében, manuálisan kellett beírni a billentyűzetről, és ez egyáltalán nem könnyítette meg a bejegyzések létrehozását, és nagyon bosszantó volt.

De ez a probléma sikeresen megoldódott a csodálatos Post Editor Buttons WP bővítménynek köszönhetően, amellyel tetszőleges számú további gombot adhat hozzá a HTML-szerkesztő eszköztárához, bizonyos műveletekre programozva.

Ma minden részletében megvizsgáljuk a WP-ben írt bejegyzéseket az elejétől a végéig, anélkül, hogy kihagynánk az árnyalatokat és azokat a technikákat, amelyek véleményem szerint segítették a blogoldalt (most olvasod, hacsak természetesen ez a cikk nem ellopták és nem kerültek fel más oldalra) elérik a több ezer egyedi látogató szintjét.

Vagyis ez a kiadvány a cikk részletes melléklete lesz (nem ez az eredeti cím, hanem átvett olvasói retweetből, de véleményem szerint még az eredeti nevemnél is sikeresebb).

Abban a cikkben felvázoltam azokat az árnyalatokat, amelyek számomra úgy tűnik, befolyásolták a keresőmotorokból érkező forgalom (látogatók) beáramlását, és ebben a bejegyzésben megpróbálok olyan részletekbe nyúlni, amelyek gyakran nagyon fontosak és első pillantásra nem nyilvánvalóak.

Ezen kívül úgy gondolom, hogy egy kezdő blogger, vagy aki csak a saját projekt létrehozásán és fenntartásán gondolkodik, nem lesz érdektelen, hogy megtanulja, hogyan lesz minden egyszerű a WordPressben, ha tudja, mit és hol kell tennie a kívánt eredményt. Nos, a bevezetés elmaradt, ideje közvetlenül az anyag bemutatására térni.

Akinek még nincs saját WP blogja, de szeretne blogger lenni, illetve aki másik blogmotorról vagy ingyenes platformról szeretne áttérni a WordPressre, annak linkeket adok az azon található anyagokhoz. telepítés és kezdeti beállítás:

Első lépések Cikk írása a WordPress HTML-szerkesztőben

Tehát új cikk írásához lépjen az adminisztrációs panelre (http://sait.ru/wp-admin/), és válassza ki a bal oldali menüből (ha a szabványos WP adminisztrációs panelt használja) a „ Új hozzáadása” elemet a „Bejegyzések” területen.

Ennek eredményeként megnyílik egy szabványos oldal egy cikk (bejegyzés) hozzáadásához, amelyen egy mező található a cím és egy nagy mező a bejegyzés szövegének bevitelére.

Nincsenek trükkök a címszöveg beírásakor az erre szánt mezőbe, de nem az a fontos, hogy hogyan írja be, hanem hogy mit kell használnia kulcsszavakat benne. Milyen jól választja meg a bejegyzés címét (), milyen magasra fog emelkedni a bejegyzése a keresési eredmények között bizonyos lekérdezések esetén.

De ugyanakkor cikk címe a WordPressben jól korrelálni kell a szövegével (relevánsnak kell lennie a bejegyzés szövegéhez). Ráadásul a keresési eredmények között is megjelenik, és a kiadványod további sorsa attól függ, hogy mennyire vonzó (ha nem kattintanak rá, akkor a viselkedési tényezők romlanak, és kikerül a Topból).

A cím végleges változatát általában a cikk megírása után alakítom ki. Néha az összes köztes alcímet bemásolom külön szöveges fájlés mindegyiket a szemem előtt tartva, általánosságot alkotok, igyekszem mindent figyelembe venni, ami benne volt.

Valószínűleg ezért is nagyon hosszúak a címeim, de ahogy a gyakorlat azt mutatja, nincs ezzel semmi baj. A keresőmotorok nagyszerű munkát végeznek a címeimmel, és a keresési eredmények megmutatják a CÍM azon részét, amelyben a keresési lekérdezés szavai előfordulnak.

Miért olyan fontos a cím az oldal népszerűsítéséhez? kereső motorok? Igen, mert számukra ez a fő kritérium annak meghatározására, hogy az Ön cikke mennyire relevanciája (megfelelőségi foka - és más összetett szavak) egyik vagy másik számára. keresési lekérdezés.

Bár nem, nem igazán. Nem a bejegyzés címe, hanem az oldal címe A CÍM a legfontosabb kritérium a keresőmotorok számára egy adott keresési lekérdezés pozíciójának meghatározásakor (lásd részletesen).

És akkor mi köze a WP-s bejegyzés címéhez? És annak ellenére, hogy a helyes CÍM a cikk címéből plusz a teljes blog címéből kell kialakítani, mégpedig ebben a sorrendben. A WordPressben egyébként beállíthatja a megfelelő TITLE formációt. A beépülő modul egyszerűen csodálatos, ugyanakkor lehetővé teszi a belső optimalizálás sok problémájának megoldását.

Felhívom a figyelmet a HTML logikai kijelölési címke "STRONG" és egy másik, félkövér "B", valamint az "EM" és az "I" közötti különbségre. Az első ilyen címkék ( STRONG és EM) nem csak arra kell használni, hogy felhívja az olvasók figyelmét a szöveg fontos pontjaira.

A keresőmotorok nagyobb súllyal veszik figyelembe az ékezetes címkék (STRONG és EM) által kiemelt szavakat és kifejezéseket, mint a szöveg szokásos, nem kiválasztott szavait. Most azonban nagyon óvatosnak kell lennie ezzel, hogy ne menjen túl messzire, és ne.

A H1-H6 szintű címsorok optimális szerkezetének kiválasztása

Most a H1-H6 fejléc címkék, amelyek a blog cikkeiben is használhatók kiemelésre a megfelelő szavakatés kifejezéseket.

Ezeknek a belső alcímeknek, mint például a TITLE, olyan kulcsszavakat és kifejezéseket kell tartalmazniuk, amelyek alapján rangsorolni szeretne a keresőmotorokban. A keresés a szokásosnál nagyobb súllyal veszi figyelembe őket. De még egyszer, semmi esetre se spamolja el a kulcsokat, mert emiatt szenvedhet modern körülmények között promóció.

Kivéve, hogy a belső alcímek (általában H2-től, H3-tól kezdve) előírják további lehetőség a szöveg strukturálása, ami javítja az olvasók észlelését.
De van egy másik probléma a webhely belső optimalizálásával kapcsolatban, ami a WordPress blogoldalakon használt címsorszintekhez (H1-től H6-ig) kapcsolódik.

A címsorszintek weboldalon való elosztásának fő módja az, hogy a teljes cikk címsorát egy H1 címkébe kell csomagolni (leginkább magas szint) És oldalanként egy legyen, de a szövegben minden belső alcímnek H2-vel kell kezdődnie.

Mellesleg szeretnék egy nagyon kényelmes módot tanácsolni Önnek, hogy vizuálisan lássa a WordPressben, hogy egy adott webhelyen hol és milyen szinten használják a címsorokat. Ez egy beépülő modul a FireFox() számára.

Tehát, ha ennek a beépülő modulnak a menüjéből kiválasztja (menüje a böngésző tetejére került) a "Körvonalak" - "Címvázlatok" elemeket, akkor mindegyik megtalálható a megnyitott oldalon. Ebben a pillanatban a böngészőben a weblapok többszínű téglalapokkal lesznek bekarikázva, amelyek mellett a H1 -H6 szintjük lesz aláírva.

A fenti ábrán látható módon a cikk címét nem H1-re, hanem H2-re állítottam, míg a H1-el a teljes projekt leírását fűzöm benne, i. nem egy adott cikkre, hanem az egész blogra.

Ez a Maul az egyik cikkében megemlítette, hogy a H1 szintű fejlécnek azonosnak kell lennie az oldal összes weboldalán, de nem igazán vitatta az elképzelését. Én azonban pontosan az ő sémáját használom. A belső alcímeknél H3 és H4 címkéket használok (néha H5).

Még egy árnyalat. A fő bejegyzések címén olyan linkek találhatók, amelyek olyan weboldalakra vezetnek, amelyekben szerepel teljes verziók, de már ezeken az oldalakon a bejegyzések teljes szövegével a cikkek címei megszűnnek linkek lenni. Valahol azt olvastam, hogy jobb lenne így.

Most még beszélnünk kell egy kicsit arról, hogyan lehet megváltoztatni a HTML címsorcímkéket a WordPress-ben, például a cikkeknél, vagy hozzá kell adni, ahogy én tettem, egy közös H1 szintet mindenkinek.

Ehhez csatlakoznia kell ahhoz a tárhelyszerverhez, ahol a blogja található, például FTP protokoll használatával. Az összes szükséges fájl az Ön által használt WordPress témával (sablonnal) rendelkező mappában található, amelyet a következő útvonalon találhat meg:

/wp-content/themes/Téma neve/

A WordPress téma fájlok (sablonok) szerkezetének és céljának pontosabb megértése érdekében azt javaslom, hogy olvassa el a cikket a kiadvány legelején (a listában).

Nézzük meg, hol módosíthatja a főoldalon található cikkek főcímeinek szintjét (megjelenéséért felelős). INDEX fájl) és a cikkek teljes verzióját tartalmazó oldalakon (EGY fájl).

Először nyissuk meg szerkesztésre az INDEX-et. Benne vannak a WordPress cikkek címei a H2 HTML címkében (második szint) és ezen kívül linkek, mert az A link tagban vannak:

" rel="bookmark" title="Permalink!}">

A bejegyzésekben (a megjelenésükért a SINGLE fájl felelős) a fő címsorok már nem lesznek linkek, bár ezeknek is van H2 szintje:

Ha nem elégedett a második szinttel, akkor egyszerűen módosítsa a H2 címkéket ezekben a fájlokban (INDEX és SINGLE) H1 címkékre, és mentse el a változtatásokat (bár ez nem tehető meg a főnél, mert egynél több lesz H1 az oldalon, ami nem jó).

Nagyon egyszerűen elkészítheti ugyanezt a WordPress H1 blog minden oldalán. Ehhez meg kell nyitnia a HEADER-t szerkesztésre a használt témával rendelkező mappából, és meg kell keresnie azt a sort, ahol a blog leírása megjelenik, majd be kell zárnia a nyitó és záró H1 címkék közé, majd mentenie kell a változtatásokat. készült.

De térjünk vissza a WordPress HTML-szerkesztőnkhöz, és nézzük meg, milyen funkciókat biztosít számunkra, mi hiányzik belőle, és fontoljuk meg a képességek bővítésének módját is. Íme egy képernyőkép az adminisztrátori eszköztáramról, amelyen az alapértelmezett gombok pirossal vannak kiemelve:

Vegye figyelembe, hogy a „b” és „i” feliratú gombok valójában a STRONG és EM címkék beillesztésére szolgálnak.

De mindezek a további gombok külön-külön hozzáadhatók a WordPresshez egy csodálatos bővítmény segítségével. Bejegyzésszerkesztő gombok, a telepítésről és a munkáról, amellyel a sorozat második cikkében fogok mesélni. Ezért tartsa a kapcsolatot, iratkozzon fel a hírfolyamra, és ne hagyja ki a legérdekesebbet.

Sok szerencsét! Hamarosan találkozunk a blogoldalak oldalán

Lehet, hogy érdekel

Hiányzik a bal oldali menü a WordPress adminisztrátorból a frissítés után Üres oldal, amikor nagy bejegyzéseket (cikkeket) tekint meg a WordPressben Hol lehet letölteni a WordPress-t - csak a wordpress.org hivatalos webhelyről Hogyan adhatunk automatikusan Alt attribútumot a WordPress blog Img címkéihez (ahol nem léteznek) Hogyan lehet letiltani a megjegyzéseket a WordPressben az egyes cikkekhez vagy a teljes bloghoz, valamint eltávolítani vagy fordítva beilleszteni őket a sablonba Statikus oldalak listájának létrehozása a WordPressben a wp_list_pages használatával (Növelje bevételét az örökkévaló hivatkozásokkal és cikkekkel)
A WordPress telepítése részletesen és képekben, bejelentkezés a WP adminisztrációs panelbe és jelszó módosítása Hangulatjelek a WordPressben – milyen hangulatjel-kódokat kell beilleszteni, valamint a Qip Smiles beépülő modul (gyönyörű hangulatjelek a megjegyzésekhez)
A WordPress memóriafelhasználásának csökkentése oldalak létrehozásakor – WPLANG Lite bővítmény a lokalizációs fájl helyettesítésére
Hogyan lehet belépni a WordPress adminisztrációs panelbe, valamint megváltoztatni a motor telepítésekor kapott rendszergazdai bejelentkezést és jelszót
A WordPress blogbeállításokat azonnal meg kell tennie a telepítés után

Merem feltételezni, hogy az életedben előfordultak olyan esetek, amikor valamit hozzá akartál tenni (javítani) a WP oldalad témájában, vagy valamelyik plugin funkcionalitásában. Sőt, a fejlesztők ezt a funkciót nem foglalták bele a szabványos vezérlőkbe. És a lelked nem ismer fel semmilyen korlátozást, és képzeletrepülést kíván

A kód szerkesztésének fő nehézsége az, hogy az elvégzett változtatások sajnos nem tartanak sokáig, és valószínűleg a következő frissítéssel törlődnek. Ha az a megoldás, hogy távol marad a frissítésektől, bátran merem lebeszélni erről a veszélyes, nemtörődöm döntésről, mivel a frissítések fontos biztonsági változásokat és hibajavításokat, valamint gyakran új funkciókat is tartalmaznak.

Emiatt célszerű olyan módszereket alkalmazni, amelyek megállják a helyüket dinamikusan változó világunkban, és egyben értékes időt takarítanak meg.

Figyelmeztetések!

Az interneten gyakran találhat tippeket, amelyek a fájl módosítását javasolják. függvények.php- ha van lehetőség nélkülözni - jobb, ha nem érinti meg ezt a fájlt. Az alábbi módszerekből megtudhatja, hogyan kell ezt megvalósítani. Mindenesetre létre kell hoznia egy gyermektémát, és érintetlenül kell hagynia a szülőtémát.

Függvény előtagként mindig egyéni kódot használjon a következő formában: _előtag(a megváltozott függvény nevére). Ez a művelet megóvja Önt a téma vagy a bővítmény más funkcióival való ütközéstől.

Tehát hogyan kell kódot hozzáadni egy WP webhelyhez?

1) Egyedi bővítmény

Így kódrészleteket is beilleszthet, és azok nem törlődnek a frissítés során, illetve szerkeszthetők, a jövőben aktiválhatók, vagy fordítva - szükség esetén deaktiválhatók.

Ez egyszerű: először létre kell hoznia egy könyvtárat a beépülő modul számára, és megfelelően el kell neveznie, például moy-plugin (csak kötőjelet használjon, perjelet ne)

Ezután létrehozzuk a fő bővítményfájlt. Amint érti, tartalmaznia kell a nevet, a leírást és az alapvető információkat, valamint egy kódot, amely segít megvédeni a bővítményt a behatolóktól. És ezt a fájlt nevezzük, mondjuk my-plugin.php-nek. A .php kiterjesztés megmondja a WP-nek, hogy az adott fájl melyik nyelven van.

Létrehozhat egy fájlt a fent leírt módon bármely szövegszerkesztőben, például a Jegyzettömbben, amely már gondosan telepítve van a Windows operációs rendszeren (Mac-en TextEdit). Jobb, ha nem használjuk a Microsoft Word szerkesztőt, mivel az formázza a szöveget, és ebben a helyzetben egyáltalán nincs rá szükségünk.

Tehát itt van a hozzáadandó kód:

És ez alatt a kód alatt hajtsd végre a változtatásokat, amelyeket kreatív lelked megkíván. Nem kell záró PHP címkéket hozzáadnia a végéhez. Ebben az esetben a cím, leírás és URL megjelenik az adminisztrációs panelen. És természetesen a "ClubWP" információkat saját adataival is helyettesítheti.

Ezután már csak a létrehozott zip-archívumba kell csomagolnia, és elküldeni a webhely ftp-jére. A jövőben így bármilyen módosítást végrehajthat a bővítményen.

Egyszerű módon létrehozhat egy egyszerű bővítményt az Ön igényeinek megfelelően.

2) Code Snippets beépülő modul

Ha a fent leírt módszer nehéz számodra, vagy nagyon gyakorlatias ember vagy, és megszoktad, hogy gyorsabban érj el eredményeket, a kódrészleteket kifejezetten az Ön számára készítettük. A fent leírt funkcióhoz hasonlóan a beépülő modul hozzáadja a kódot, és a téma használata nélkül tovább szerkesztheti azt.

A bővítmény telepítése után egy új „Snippets” ablak jelenik meg az adminisztrációs panelen, amelyben ennek megfelelően új kódrészleteket adhat hozzá. Amelyhez megadhatja a kódot és a céljára vonatkozó információkat.

Így a következőket teheti: engedélyezheti vagy letilthatja az egyéni kódot bővítmények formájában. Nagyon kényelmes és praktikus, mert. néha ütközések lehetségesek a témákkal és a bővítményekkel, és ezt könnyen megértheti, és letilthatja a generált kódot.

3) A gyermektéma Functions.php szerkesztése

Ha a beépülő modulok használata nem felel meg Önnek, és közvetlenül a webhely témáján kell módosítania, akkor ez a módszer az Ön számára. Emlékeztetlek arra, hogy ezt csak gyermektémákkal teheted meg.

A módszer használatához felajánlom a sablonomat függvények.php gyerek téma. Csomagolja ki és szerkessze a fájlt stílus.css(sablonnév és URL-importálás)

P.S. Igyekezzen minden tőle telhetőt, hogy megkönnyítse az életét a jövőben a hibák kijavításában és az egyéni kód szerkesztésében, amikor szükség van rá.

A kódolvashatóság nagyon fájdalmas téma, ezért kellő figyelmet kell fordítani rá. Ebben a cikkben 16 trükköt ismerhet meg, amelyek segítenek előrehaladni ebben a témában.

1. Megjegyzések és dokumentáció

Az IDE-k egyre népszerűbbek a fejlesztői világban, mint praktikus eszközöket biztosítanak a kód kommentálásához és dokumentálásához.

Íme egy példa:

Íme egy másik példa a saját módszer meghívására:

Ebben a példában a kommentelési stílus PHPDoc-on alapul, az általam használt IDE pedig az Aptana.

2. Behúzás

Feltételezem, hogy már ismeri a behúzás fontosságát a kódban. Általában több kódformázási stílus létezik.

Függvény foo() ( if ($talán) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Függvény foo() ( if ($talán) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Függvény foo() ( if ($talán) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Én személy szerint leggyakrabban a 2-es stílust használom, de néha az 1-es stílust használom. De persze minden ízlés dolga. Valószínűleg nincs olyan „legjobb” stílus, amely mindenkinek megfelelne. Ezeket a szabályokat elsősorban azoknak kell betartaniuk, akik csapatban dolgoznak, vagy nyílt forráskódú projektek írásában vesznek részt.

Vannak olyan stílusok is, amelyek egyesítenek bizonyos jellemzőket. Például a PEAR kódolási szabványok, ahol a "(") kapcsos zárójel ugyanazon a sorban marad a feltételes utasításokban, de függvényekbe burkolódik.

KÖRTÉS stílus:

Függvény foo() ( // egy új sorban if ($maybe) ( // ugyanabban a sorban do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Vegye figyelembe azt is, hogy ez a stílus 4 szóközt használ tabulátorok helyett.

Többet megtudhat a különböző stílusokról.

3. Kerülje a felesleges megjegyzéseket

Igen, a kód kommentálása jó; azonban nem kell túlzásba vinni. Íme egy példa:

// országkód lekérése $ország_kód = get_country_code($_SERVER["TÁVOLI_CÍM"]); // ha az ország USA if ($country_code == "US") ( // az echo form_input_state(); )

Ha a kód működése nyilvánvaló, akkor valószínűleg nem szabad felesleges megjegyzéseket írnia.

Ha még nem elérhető, akkor egy kicsit lerövidítheti őket:

// az űrlap megjelenítése, ha az ország US $country_code = get_country_code($_SERVER["REMOTE_ADDR"]); if ($ország_kód == "US") ( echo form_input_state(); )

4. Kódcsoportosítás

Egyes feladatok leggyakrabban több sor kódot igényelnek. Ezért a legjobb, ha az ilyen feladatokat külön, szóközökkel elválasztott blokkokban egyesítjük.

Íme egy egyszerű példa:

// fórumok listájának lekérése $forums = array(); $r = mysql_query("SELECT azonosító, név, leírás a fórumokból"); while ($d = mysql_fetch_assoc($r)) ( $forums = $d; ) // sablon betöltése load_template("fejléc"); load_template("fórum_lista",$fórumok); load_template("lábléc");

Ha minden blokk eleje előtt megjegyzést fűz hozzá, az tovább javítja a kód olvashatóságát.

5. Elnevezési séma

Néha még a PHP nyelvben is találhatunk következetlenségeket a függvények elnevezésében. És itt van számos példa:

  • strpos() vs str_split()
  • imagetypes() vs image_type_to_extension()

Számos népszerű stílus létezik:

  • camelCase: Minden új szó első betűje nagybetűs.
  • aláhúzás: Aláhúzás a szavak között: mysql_real_escape_string().

Ha ezeket a technikákat keveri, előbb-utóbb kínos helyzetbe kerülhet. Ha olyan projekten dolgozik, amely ezen technikák valamelyikét használja, akkor kövesse a példát. Ez továbbra is a programozási nyelvtől függhet. Például a legtöbb Java-fejlesztő a camelCase-t használja, míg a PHP-fejlesztők az aláhúzásjeleket részesítik előnyben.

De még itt sem volt hibrid nélkül. Egyes fejlesztők aláhúzásjeleket használnak az osztályok és metódusok elnevezésében (az osztályokon kívül), más esetekben pedig a camelCase-t:

Osztály Foo_Bar ( nyilvános függvény someDummyMethod() ( ) ) függvény procedural_function_name() ( )

Még egyszer elmondom, hogy nincs jobb stílus. Csak ragaszkodni kell valamihez.

6. SZÁRAZ elv

SZÁRAZ (Ne ismételd magad) Más néven DIE: A sokszorosítás gonosz.

Minden rendszer fő feladata, legyen az webes alkalmazás vagy valami más, az ismétlődő feladatok automatizálása. Ezt az elvet mindig és mindenhol követni kell, különösen, ha Ön fejlesztő. Ugyanazt a kódrészletet nem szabad újra és újra megismételni.

Például a legtöbb webalkalmazás egy vagy több oldalból áll. Nyilvánvaló, hogy ezek az oldalak ugyanazokat az elemeket tartalmazzák. Fejléc, lábléc – a legszembetűnőbb példák. Meglepődne, hogy hány ember ismétli meg ezeket az elemeket minden oldalon.

$this->load->view("includes/header"); $this->load->view($main_content); $this->load->view("includes/footer");

7. Kerülje a mély beágyazást

A kód olvashatósága drasztikusan csökken, ha mély egymásba ágyazás van.

Függvény do_stuff() ( // ... if (írható($mappa)) ( if ($fp = fopen($file_path,"w")) ( if ($stuff = get_some_stuff()) ( if (fwrite($ fp,$stuff)) ( // ... ) else ( return false; ) ) else ( return false; ) ) else ( return false; ) ) else ( return false; ) )

A helyzet javítása érdekében újra kell gondolnia a kód működését, és optimalizálnia kell:

Függvény do_stuff() ( // ... if (!írható($mappa)) ( return false; ) if (!$fp = fopen($file_path,"w")) ( return false; ) if (!$stuff = get_some_stuff()) ( return false; ) if (fwrite($fp,$stuff)) ( // ... ) else ( return false; ) )

8. Vonalhossz korlát

Mindenki tudja, hogy az olvasás folyamata sokkal kellemesebbé válik, ha a szöveget oszlopokra osztják. Ez a fő oka annak, hogy újságjaink így néznek ki:

Hasonló technika alkalmazható kódunkra is:

// rossz $my_email->set_from(" [e-mail védett]")->add_to(" [e-mail védett]")->set_subject("Láncolt módszerek")->set_body("Néhány hosszú üzenet")->send(); // ok $my_email ->set_from(" [e-mail védett]") ->add_to(" [e-mail védett]") ->set_subject("Módszerek láncolt") ->set_body("Néhány hosszú üzenet") ->send(); // bad $query = "SELECT id, username, first_name, last_name, status FROM users LEFT JOIN user_posts USING (users.id, user_posts.user_id) WHERE post_id = "123""; // bad $query = "SELECT id, username, first_name, last_name, status FROM users LEFT JOIN user_posts USING(users.id, user_posts.user_id) WHERE post_id = "123"";

A legtöbb fejlesztő ragaszkodik a 80 és 120 karakteres korláthoz.

9. Fájlok és mappák rendezése

Technikailag az összes alkalmazás kódját egy fájlba helyezheti :) De mit fog tenni, ha valamit módosítani vagy hozzáadni kell.

Emlékszem az első projektjeimre, amelyekhez fájlokat csatoltam. A szervezetem azonban nagyon sántított. Létrehoztam egy "inc" mappát, amibe több fájlt is elhelyeztem: db.php és functions.php. A pályázat írása közben ez a mappa dagadt és dagadt volt, és a végén nehéz volt megérteni, hogy mi hol van.

A probléma megoldásához jobb különféle keretrendszereket használni, vagy legalább ragaszkodni a szerkezetükhöz. Így néz ki a projekt a CodeIgniteren:

10. Változónevek

Általában a változóneveknek teljesen értelmesnek kell lenniük – ez ideális esetben. Az ideiglenes változók kivételt képezhetnek.

Nézzünk néhány példát:

// $i for ciklusokhoz ($i = 0; $i< 100; $i++) { // $j для вложенных циклов for ($j = 0; $j < 100; $j++) { } } // $ret для возвращаемых переменных function foo() { $ret["bar"] = get_bar(); $ret["stuff"] = get_stuff(); return $ret; } // $k и $v для foreach foreach ($some_array as $k =>$v) ( ) // $q, $r és $d a mysql-hez $q = "SELECT * FROM table"; $r = mysql_query($q); while ($d = mysql_fetch_assocr($r)) ( ) // $fp fájlokkal való munkavégzéshez $fp = fopen("file.txt","w");

11 - Írjon kulcsszavakat SQL-ben nagybetűkkel

A legtöbb webalkalmazás adatbázisokkal működik együtt. Ha magad írod az SQL lekérdezéseket, akkor azokat is ennek megfelelően kell formázni... Nincs itt semmi bonyolult. Csak írja be a kulcsszavakat nagybetűkkel.

12. Külön kód és adat

Ez egy másik alapelv, amely segít tisztább programokat írni. Ez abban rejlik, hogy az egyik helyen készíti el az adatokat (mondjuk modelleket), és egy másik helyen kommunikál velük.

Amikor a PHP elindult, inkább egy sablonrendszerhez hasonlított. Az ezen a nyelven futó projektek vegyes HTML- és PHP-kódot tartalmaztak. Most minden megváltozott, és mindenkinek át kell lépnie a pályázatírás új szintjére.

Kialakíthatsz magadnak valamilyen különleges stílust, vagy használhatod az eddigi legnépszerűbb eszközöket.

Népszerű PHP keretrendszerek:

Sablonrendszerek:

Népszerű CMS

13. Speciális szintaxis a sablonokhoz

Ha nem akarja használni a sablonrendszert, akkor nagy valószínűséggel ki kell alakítania saját stílusát a PHP kód HTML-be való beillesztésére.

És itt van egy példa:

Helló, felhasználónév; ?>
|

Üzenőfalam

cím; ?>

Fórumok $fórumként): ?>

azonosító, $fórum->cím) ?> (szálak->count(); ?>szálak)

leírás; ?>

Ez a technika lehetővé teszi a felesleges zárójelek elkerülését. Ezenkívül az ilyen kód jól illeszkedik a HTML-környezetbe.

14. Procedurális és objektum-orientált megközelítések

Az objektum-orientált programozás segít ragaszkodni egy többé-kevésbé világos szerkezethez, de ez nem jelenti azt, hogy el kellene térni a pályázatírás eljárási elveitől.

Az objektumok kiválóan alkalmasak az adatok ábrázolására. Példa:

Class User ( public $felhasználónév; publikus $utónév; public $last_name; public $email; public function __construct() ( // ... ) public function create() ( // ... ) public function save() ( / / ... ) nyilvános függvény delete() ( // ... ) )

Az eljárási módszereknek megvannak a sajátos előnyei.

Nagybetűs függvény($string) ( $ret = strtoupper($string); $ret .= strtolower(substr($string,1)); return $ret; )

15. Olvassa el a nyílt forráskódot

A nyílt forráskódú projekteket jellemzően nagyszámú fejlesztő ír. Ebből a szempontból az írott kód tanulmányozása hasonló projektekben segíthet a tapasztalatszerzésben. Szóval ne pazarolja az idejét erre.

16. Refaktorálás

Az újrafaktorálás a kód megváltoztatása a funkcionalitás elvesztése nélkül. Az olvashatóság javítására is használható, nincs hely a hibák javítására vagy a funkciók bővítésére. Csak egy kicsit módosítod a kódod szerkezetét.

Remélem, hogy ez a cikk hasznos volt számodra! Lemaradtam valamiről? Ossza meg tapasztalatait!

Egy nap úgy döntöttél, hogy létrehozod saját weboldaladat vagy blogodat, és a WordPress-t választottad a menedzsment rendszernek... Ahogy telt az idő, a webhelyed egyre olvashatóbbá válik, majd rájöttél, hogy a még nagyobb népszerűséghez hozzá kell adni néhány funkciót. a webhelyre, vagy csak automatizálja ezt a műveletet.

Bemész a wordpress pluginjainak "raktárába", és azt tapasztalod, hogy a szükséges plugin nincs ott. Mit kell tenni? Hogyan legyen? Ha legalább egy kicsit ismeri a php programozás alapjait, az elrendezést, akkor nem lesz nehéz Írjon saját beépülő modult a WordPresshez.

És most menjünk a „konyhába”, hogy elkészítsük a bővítményünket.

P.s. Ha nem ismered a php-t és az elrendezést… ne keseredj el, kérj meg valakit, hogy írja meg neked a szükséges funkciókat 🙂

Mielőtt elkezdené írni egy beépülő modult, át kell tekintenie a WordPress dokumentációját, amely leírja a bővítmények írásának alapelveit és néhány kódpéldát.

Nem fogom megismételni ezeket az információkat, hanem azonnal a kód írásához fogok.

Írjunk egy egyszerű beépülő modult, amely lehetővé teszi, hogy elmentse és megjelenítse a webhelyével kapcsolatos véleményeket. Természetesen vannak már ilyen bővítmények, de például ez is jól megy.

Az első dolgunk, hogy egyedi nevet találjunk ki a bővítményünknek - " AdvUserReviews«.

Ezután hozzunk létre egy új könyvtárat „advuserreviews” néven a webhely „/wp-content/plugins/” könyvtárában. Ebben létrehozzuk az "advuserreviews.php" fájlt. Ez lesz a fő fájl, amely felelős az általános inicializálásért. (Lehetőleg UTF-8 kódolást használjon a fájlokhoz).

A fájl legelején meg kell adnia a bővítmény alapvető adatait

Most, ha a vezérlőpultra lép, láthatja, hogy a rendszer talált egy új bővítményt, és felajánlja annak aktiválását. De még túl korai ehhez.

Az új bővítményünket OOP stílusban fogjuk megírni, és minden adatfeldolgozás egy fájlban lesz. Hozzuk létre a fájl fő keretét.

// Közvetlen hívás leállítása if(preg_match("#" . basename(__FILE__) . "#", $_SERVER["PHP_SELF"])) ( die("Nem hívhatja meg közvetlenül ezt az oldalt."); ) if (!class_exists("AdvUserReviews")) ( class AdvUserReviews ( // Belső adatok tárolása public $data = array(); // Objektum konstruktor // A fő változók függvényének inicializálása AdvUserReviews() ( ) ) ) global $rprice; $rprice = new AdvUserReviews();

Most adja hozzá a következő kódot az objektumkonstruktorhoz:

AdvUserReviews() függvény ( global $wpdb; // A beépülő modulunk inicializálási állandójának deklarálása DEFINE("AdvUserReviews", true); // Beépülő modulunk neve $this->plugin_name = plugin_basename(__FILE__); // A beépülő modulunk URL-je $ this->plugin_url = trailingslashit(WP_PLUGIN_URL."/".dirname(plugin_basename(__FILE__))); // Táblázat értékeléseink tárolására // a $wpdb változót globálisan kell deklarálni $this->tbl_adv_reviews = $wpdb->prefix "adv_reviews"; // A beépülő modul aktiválásakor végrehajtott függvény register_activation_hook($this->plugin_name, array(&$this, "activate")); // A beépülő modul deaktiválásakor végrehajtott függvény register_deactivation_hook($this ->plugin_name, array (&$this, "deactivate")); // A beépülő modul eltávolításakor végrehajtott függvény register_uninstall_hook($this->plugin_name, array(&$this, "uninstall")); )

Az objektumkonstruktorban 3 "hogot" vagy "horgot" használunk (mi ez?): register_activation_hook, register_deactivation_hookÉs register_uninstall_hook- ezek azok a funkciók, amelyek a plugin aktiválásakor, deaktiválásakor és eltávolításakor hajtódnak végre.

Most végre hajtsuk végre ezeket a funkciókat közvetlenül.

/** * Beépülő modul aktiválása */ function activate() ( globális $wpdb; request_once(ABSPATH . "wp-admin/upgrade-functions.php"); $table = $this->tbl_adv_reviews; // A mysql verzió meghatározása if ( version_compare(mysql_get_server_info(), "4.1.0", ">=")) ( if (! empty($wpdb->charset)) $charset_collate = "ALAPÉRTÉKES KARAKTER BEÁLLÍTÁS $wpdb->karakterkészlet"; if (! empty( $wpdb->collate)) $charset_collate .= " COLLATE $wpdb->collate"; ) // Az áttekintési táblázatunk szerkezete $sql_table_adv_reviews = " TÁBLÁZAT LÉTREHOZÁSA `.$wpdb->prefix."adv_reviews` (`ID` INT(10) NEM ALAPBEÁLLÍTOTT NULL AUTO_INCREMENT, `review_title` VARCHAR(255) NOT NULL ALAPÉRTÉKES "0", `review_text` TEXT NOT NULL, `review_date` TIMESTAMP NOT NULL ALAPÉRTELMEZETT CURRENT_NAME CURRENT_TIME_0,CHAR_ULLER`user`0. VARCHAR(200) NULL, PRIMARY KEY (`ID`))".$charset_collate.";"; // Ellenőrizze, hogy létezik-e a tábla if ($wpdb->get_var("show tables like "".$table."" " ) != $table) ( dbDelta($sql_table_adv_reviews); ) ) /** * Deact plugin invocation */ function deactivate() ( true return; ) /** * Távolítsa el a bővítményt */ function uninstall() ( global $wpdb; $wpdb->query("DROP TABLE IF EXISTS ($wpdb->prefix)adv_reviews"); )

Változó $wpdb felelős az adatbázis lekérdezéséért. Funkció dbDelta elemzi az aktuális táblaszerkezetet, összehasonlítja a kívánt táblaszerkezettel, és szükség szerint hozzáadja vagy módosítja a táblát.

Ennek megfelelően a bővítmény aktiválásakor egy táblázatstruktúra jön létre a vélemények tárolására. A beépülő modul deaktiválásakor nem történik semmilyen művelet, de amikor töröljük, töröljük a táblázatunkat. A részletesebb műveletek a forráskódból érthetők meg.

Elkészült az új plugin alapstruktúrája. Most el kell kezdenünk írni a funkcionális részt. Ehhez a következő kódsorokat kell hozzáadnunk az osztálykonstruktorhoz:

// Ha az admin. felület if (is_admin()) ( // Stílusok és szkriptek hozzáadása add_action("wp_print_scripts", array(&$this, "admin_load_scripts")); add_action("wp_print_styles", array(&$this, "admin_load_styles")); // Menü hozzáadása a bővítményhez add_action("admin_menu", array(&$this, "admin_generate_menu")); ) else ( // Stílusok és szkriptek hozzáadása add_action("wp_print_scripts", array(&$this, "site_load_scripts") )) ; add_action("wp_print_styles", array(&$this, "site_load_styles")); add_shortcode("show_reviews", array (&$this, "site_show_reviews")); )

Nézzük meg közelebbről a kódnak ezt a részét. Kezdjük az adminisztrációs panellel.
Funkció " is_admin» ellenőrzi, hogy éppen milyen üzemmódban dolgozunk - a helyszínen vagy a vezérlőpulton.
Ezután számos kampót használnak a funkciókhoz:

  • wp_print_scripts- Adja hozzá a szükséges javascript fájlokat
  • wp_print_styles- Adja hozzá a szükséges stílusokat
  • admin_menu- Új menü hozzáadása a vezérlőpulthoz

Minden horog megfelel az osztályunkban megvalósított metódusnak. amelyben a szükséges műveleteket elvégzik.
Fontolja meg a stílusok és szkriptek összekapcsolásának kódját

/** * Töltse be a szükséges szkripteket az adminisztrációs oldalhoz * az adminisztrációs panelen */ function admin_load_scripts() ( // Szkriptek regisztrálása wp_register_script("advReviewsAdminJs", $this->plugin_url . "js/admin-scripts.js") ; wp_register_script( "jquery", $this->plugin_url . "js/jquery-1.4.2.min.js"); // Szkriptek hozzáadása az oldalhoz wp_enqueue_script("advReviewsAdminJs"); wp_enqueue_script("jquery"); ) /** * A szükséges stílusok betöltése az adminisztrációs oldalhoz * az adminisztrációs panelen */ function admin_load_styles() ( // Stílusok regisztrálása wp_register_style("advReviewsAdminCss", $this->plugin_url . "css/admin-style.css") ; // Stílusok hozzáadása wp_enqueue_style( "advReviewsAdminCss"); )

Itt a következő funkciókat használjuk.

Minden művelet az átadott "action" paramétertől függ, illetve a "szerkesztés" - a vélemény szerkesztése, "elküldése" - a szerkesztett vélemény mentése és a "törlés" - a vélemény törlése.

Az adatcsere a megjelenítő oldalakkal az objektum "adat" tulajdonságán keresztül történik. Ezeknek az oldalaknak a forráskódja a cikk végén található modullal együtt felkerül az archívumba. Ide nem illesztem be őket, hiszen a téma már elég nagyra sikeredett.

Ezzel befejeződik az adminisztrációs panel, és továbblép a felhasználók visszajelzéseinek megjelenítésére és hozzáadására.

Ahhoz, hogy a wordpress megmondja, mikor hívja meg a bővítményünket, regisztrálnunk kell egy "rövid kódot", amit az osztályunk konstruktorában meg is tettünk. Bővebben róla.

Add_shortcode("show_reviews", array (&$this, "site_show_reviews"));

Most a webhely bármely oldalán elhelyezheti ezt a kódot, és az általunk megadott (második paraméterként átadott) függvény végrehajtására kényszerül. Alább látható ennek a függvénynek a forráskódja.

/** * Webhelyértékelések listája */ public function site_show_reviews($atts, $content=null) ( globális $wpdb; if (isset($_POST["action"]) && $_POST["action"] == " add-review") ( $this->add_user_review(); ) // Válassza ki az összes véleményt az adatbázisból $this->data["reviews"] = $wpdb->get_results("SELECT * FROM `" . $this- >tbl_adv_reviews . "`", ARRAY_A); ## Kimeneti pufferelés bekapcsolása ob_start (); include_once("site_reviews.php"); ## Adatok lekérése $output = ob_get_contents (); ## Pufferelés kikapcsolása ob_end_clean (); return $output ; ) privát függvény add_user_review() ( globális $wpdb; $inputData = array("review_title" => strip_tags($_POST["review_title"]), "review_text" => strip_tags($_POST["review_text"]) , " review_user_name" => strip_tags($_POST["review_user_name"]), "review_user_email" => strip_tags($_POST["review_user_email"]),); // Új vélemény hozzáadása a webhelyhez $wpdb->insert( $this-> tbl_adv_reviews, $inputData); )

Elvileg nincs itt semmi bonyolult - SQL-lekérdezés történik az adatok kiválasztásához, de ha az „action” paramétert átadjuk, akkor először új felülvizsgálatot adunk hozzá. De figyelni kell a kimeneti pufferelésre. A beillesztett oldal adatainak eléréséhez szükséges.

Ez tulajdonképpen minden. Most láthatod, mit kaptunk. A töltse le a bővítményt és a forráskódokat itt lehet.

Természetesen ez csak egy példa a bővítmény létrehozására, de egyszerű vendégszobaként is működik, ha kissé módosítják, például védelmet adnak a botokkal és a lapozással szemben. Jó kódolást :)

Weboldal űrlapja:

Plugin vezérlőpult:

Szerkesztés áttekintése:

A következők is érdekelhetik:


Szia kedves olvasók a! Már említettem annak fontosságát, hogy jó gyűjtemény álljon rendelkezésre hasznos kódrészletekből (inszertekből). Azonban figyelembe vették. A mai bejegyzést olyan kódrészleteknek szenteljük, amelyek segítségével bővíthető vagy javítható a webhely működése a . A gyűjtemény 10 kódrészletből áll. Elkezdeni:

Lapozás plugin nélkül

Dinamikus szerzői jogi szöveg

Ez a részlet lehetővé teszi egyszerű szerzői jogi szöveg létrehozását a láblécben. A dátum automatikusan beáll, a funkció használatban van dátum().
Csak másolja a kódrészletet a sajátjára lábléc.php:

< b>c)
| < a href= "" >
|

Felhasználói információ

A WordPress lehetővé teszi a felhasználók számára, hogy információkat adjanak hozzá magukról a WP Admin profiljukhoz. A felhasználói információk megjelenítéséhez használhatja ezt a kódrészletet:

Ahhoz, hogy a gomb működjön, csatlakoznia kell a következőhöz, és adja hozzá a következő sort a fájlhoz header.php:

< script type= "text/javascript" src= "https://apis.google.com/js/plusone.js">

PHP kód szövegben

Egy cikk írásakor néha kódot kell beszúrni, de ha csak beszúrja, akkor nem jelenik meg. Ennek elkerülése érdekében a következő töredéket használjuk, ezt hozzá kell adni a fájlhoz függvények.php Témák:

Ne felejtse el eltávolítani a szóközöket a címkékből!
És a következőképpen működik, azon a helyen, ahol be kell helyezni PHP kódot, válassza ki a következőképpen:

[kód][/kód]

A bejegyzések kizárása a kezdőlapról

Bármely kategória összes bejegyzésének kizárásához a főoldalról, használhatja ezt a kódrészletet, és hozzá kell adnia a fájlhoz függvények.php A te témád:

1
2
3
4
5
6
7
8
9

függvény includeCat($query ) (
if ( $query -> is_home ) (
$query -> set ("cat" , "-3,-5,-23" ) ;
}
return $query ;
}
add_filter("pre_get_posts" , "excludeCat" ) ;
?>

Breadcrumbs plugin nélkül

Nos, harapnivalóként itt van egy kódrészlet, amellyel rendszerezheti az úgynevezett „zsemlemorzsát” a blogon, ez egy további navigációs elem, amikor az elérési út a magasabb rangú oldalakra mutató hivatkozások formájában jelenik meg. kategória oldala és a főoldal. Valami ilyesmi (Főoldal->1. kategória->cikk címe). Ezt a kódrészletet be kell illeszteni a fájlba függvények.php A te témád:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

függvény the_breadcrumb() (
visszhang"

    " ;
    if (! is_home() ) (
    visszhang"
  • echo get_option("home" );
    echo "">" ;
    echo "Otthon" ;
    visszhang"
  • " ;
    if (is_category() || is_single() ) (
    visszhang"
  • " ;
    the_category("
  • " ) ;
    if (is_single() ) (
    visszhang"
  • " ;
    a cím() ;
    visszhang"
  • " ;
    }
    ) elseif (is_page() ) (
    visszhang"
  • " ;
    echo the_title() ;
    visszhang"
  • " ;
    }
    }
    elseif (is_tag() ) ( single_tag_title() ; )
    elseif (is_day() ) ( echo "
  • Archívum a következőhöz: " ; the_time("F jS, Y") ; echo "
  • " ; }
    elseif (is_month() ) ( echo "
  • Archívum a következőhöz: " ; the_time("F, Y") ; echo "
  • " ; }
    elseif (is_year() ) ( echo "
  • Archívum a következőhöz: " ; the_time("Y" ) ; echo "
  • " ; }
    elseif (is_author() ) ( echo "
  • Szerzői archívum "; visszhang"
  • " ; }
    elseif (isset ($_GET [ "paged" ] ) && ! üres ($_GET [ "paged" ] ) ) ( echo "
  • Archívum" ; echo "
  • " ; }
    elseif (is_search() ) ( echo "
  • Keresési eredmények"; visszhang"
  • " ; }
    visszhang"
" ;
}
?>

Ezen "zsemlemorzsa" használatához adja hozzá a következő függvényt a fájlokhoz (archive.php, category.php, page.php, single.php, search.php):

A "zsemlemorzsa" megjelenése sok kívánnivalót hagy maga után) Ezért a stílusokon kell dolgoznia!

ennyi =)

Ha szeretne naprakész lenni a legfrissebb cikkekkel és leckékkel, iratkozzon fel



Betöltés...
Top