Najboljši način za omogočanje vtičnikov za aplikacijo PHP. Vstavljanje kode PHP v WordPress prek pripomočkov Retreat plugin php

Sedma različica PHP je bila izdana v zadnjem letu 2015. Nov krog v razvoju tega programskega jezika je prinesel številne priložnosti za vse, ki uporabljajo PHP. Med prednostmi nove različice velja izpostaviti hitrost. Tako se je po mnenju razvijalcev hitrost skriptov v PHP 7 v primerjavi s prejšnjimi različicami skoraj podvojila. V zvezi s tem mnogi lastniki spletnih mest, ki imajo nameščene starejše različice PHP, želijo preklopiti na novo.

Zakaj preverjati združljivost?

Upoštevati je treba, da morate pred spremembo različice PHP na novejšo in hitrejšo na nadzorni plošči vašega gostovanja preveriti združljivost spletnega mesta WordPress z njim, in sicer tem in vtičnikov. Ta potreba se pojavi, ker so običajno v novih različicah programske opreme dodane nekatere funkcije, nekatere pa popolnoma prenehajo obstajati. Če vtičnik ali tema uporablja funkcije ali metode, ki v novi različici ne obstajajo, je to znak napake, ki lahko moti delovanje spletnega mesta kot celote.

Kako preveriti združljivost s PHP 7.0? Vtičnik za preverjanje združljivosti PHP

Vtičnik za preverjanje združljivosti PHP vam omogoča, da pregledate celotno spletno mesto in označite, katere njegove komponente (teme, vtičniki) niso združljive z izbrano različico PHP. Najprej ga morate namestiti in aktivirati, nato pa pojdite na skrbniško ploščo Orodja -> Združljivost PHP.

Kot lahko vidite, vtičnik ponuja zelo jasne nastavitve. Za začetek preverjanja morate izbrati različico PHP, s katero želite preveriti združljivost spletnega mesta (blok različice PHP). Priročna funkcija vtičnika je izbira statusa komponent, ki se preverjajo. Izbirate lahko med dvema možnostma: preverite med aktivnimi temami in vtičniki ali med neaktivnimi (polje Plugin / Theme Status). Za začetek skeniranja kliknite gumb Ponovno preglej spletno mesto.

Rezultat testa lahko prenesete tudi v besedilni datoteki s klikom na gumb Prenesi poročilo.

Vsi, ki poznajo WordPress, so že slišali za datoteko functions.php teme (predloge). Vendar vsi ne razumejo dobro njegovega namena, saj jo vidijo le kot datoteko, ki shranjuje različne funkcije PHP. Na internetu, tako kot na mojem spletnem mestu, se pogosto predlaga, da tej datoteki dodate kodo PHP. Vendar pa vsaka koda ne bo delovala za to datoteko. Ne zato, ker ne bi šlo, ampak zato, ker ne ustreza logiki uporabe.

Tudi pri urejanju functions.php začetniki delajo napake, zaradi katerih stran ne deluje.

V tem članku bom poskušal upoštevati vse te točke: kdaj uporabiti functions.php in kdaj je bolje, da tega ne storite, kakšne napake se lahko pojavijo pri urejanju functions.php.

Funkcije functions.php

functions.php se nahaja v mapi teme in se naloži vsakič, med ogledom zunanjega dela spletnega mesta, v skrbniški plošči in celo med zahtevami AJAX. Ni primera, ko functions.php ne bo vključen, kar odpira široke možnosti za razvijalce.

Na primer, naslednja koda, vstavljena v datoteko functions.php teme, bo razširila zmožnosti teme tako, da bo omogočila podporo za sličice objave:

Add_action("after_setup_theme", "wp_kama_theme_setup"); funkcija wp_kama_theme_setup())( // Podpora za sličice add_theme_support("post-sličice"); )

Drug primer, koda bo zamenjala besedilo v nogi skrbniške plošče WordPress s podatki o številu zahtev baze podatkov, času ustvarjanja strani in uporabi pomnilnika:

## Podatek o številu zahtevkov v bazo v skrbniški plošči add_filter("admin_footer_text", "wp_usage"); // v skrbniški plošči add_filter("wp_footer", "wp_usage"); // na spletni strani funkcija wp_usage())( echo sprintf(__("SQL: %d v %s sek. %s MB", "km"), get_num_queries(), timer_stop(0, 3), round(memory_get_peak_usage () /1024/1024, 2)); )

functions.php proti vtičnikom

- "Vtičniki delujejo počasneje kot koda v datoteki functions.php," pravijo nevedni - to ni tako!

V teoriji je vstavljanje kode v functions.php enako kot namestitev vtičnika, vendar ni isto. Konec koncev, ko spremenimo temo, bomo dobili popolnoma drugačne functions.php in vse opravljene spremembe bodo izgubljene, vtičnik pa bo ostal, ne glede na to, koliko se tema spremeni. Zaradi teh razlogov se moramo sklicevati na datoteko functions.php. Če se dodana funkcionalnost ne nanaša samo na temo, ampak tudi na spletno mesto kot celoto, potem razmislite o tem, da bi jo povezali kot vtičnik.

Drugi zgornji primer je »Podatki o številu poizvedb v bazi podatkov v nogi skrbniške plošče.« Logično ni primeren za uporabo v datoteki functions.php. Ker če spremenimo predlogo, bomo izgubili to funkcionalnost, vendar se uporablja v skrbniški plošči in je potrebna ne glede na to, katera tema se uporablja.

Zato ga odstranimo iz functions.php in naredimo vtičnik – preprosto je!

Če želite ustvariti vtičnik, morate ustvariti datoteko s spodnjo kodo (ime datoteke je lahko poljubno), jo dodati v imenik vtičnikov wp-content/plugins/ in aktivirati vtičnik v skrbniški plošči:

. Običajno, če ima koda, ki jo vstavljate, te oznake na začetku in koncu, jih je treba odstraniti. Poleg tega datoteka functions.php ne sme prikazati nobenega besedila (HTML kode ali druge vsebine) na zaslonu. Izhod besedila je dovoljen samo znotraj funkcij, ki bodo pozneje uporabljene v predlogi ali ki so pritrjene na kljuke (za več podrobnosti glejte spodaj).

Ne morete dovoliti znakov pred , vključno z nevidnimi znaki (prelomi vrstic), ker je functions.php povezan pred nastavitvijo glav http (takšne glave posredujejo različne podatke, na primer, da je to dokument html; da je kodiranje utf-8 drugačno ). V skladu s pravili PHP mora biti vsebina prikazana na zaslonu po pošiljanju glav. In vse zunaj je vsebina - besedilo, prikazano na zaslonu, tudi nevidni znak \n. Zato to besedilo povzroča napako.

Da bi se izognili napakam, upoštevajte 4 točke: #1 Pravilno gnezdenje

Na primer, imeli smo to strukturo:

.......tukaj je koda......... ?>

Pravilno takole:

#2 Brez prelomov vrstic, presledkov, besedila prej

Ta koda bo povzročila napako:

Ampak ta ne:

Bolj logično je zapisati takole:

Zgodi se, da je prelom vrstice postavljen na samem koncu functions.php, in potem to postane resnična težava, saj se zdi, da je vse pravilno, vendar spletno mesto ne deluje. Pravzaprav za?> ali preden je prazna vrstica

Zaradi tega mnogi razvijalci v celoti odstranijo zaključno oznako ?>; to je v PHP sprejemljivo. Priporočam, da vedno naredite to:

znotraj funkcij PHP

Če obstaja funkcija v functions.php, potem lahko znotraj te funkcije uporabite oznake, na primer, da vizualno poudarite kodo HTML znotraj funkcije:

to je koda html

Dejstvo je, da je v tem primeru funkcija samo registrirana in ne izvaja nobenih dejanj. Vse znotraj funkcije (med ( )) ne deluje, dokler ta funkcija ni poklicana, in takšne funkcije se običajno kličejo iz predloge ali prek filtrov, potem ko so bile poslane glave HTTP. Torej v tem primeru lahko prezremo prelome vrstic in uporabimo ?> in