Najlepší spôsob, ako povoliť doplnky pre aplikáciu PHP. Vkladanie PHP kódu do WordPressu cez widgety Retreat plugin php

Siedma verzia PHP bola vydaná v roku 2015. Nové kolo vo vývoji tohto programovacieho jazyka prinieslo veľa príležitostí pre všetkých, ktorí používajú PHP. Medzi výhody novej verzie treba vyzdvihnúť rýchlosť. Rýchlosť skriptov v PHP 7 sa teda podľa vývojárov oproti predchádzajúcim verziám takmer zdvojnásobila. V tomto smere mnohí majitelia webových stránok, ktorí majú nainštalované staršie verzie PHP, chcú prejsť na novú verziu.

Prečo kontrolovať kompatibilitu?

Treba si uvedomiť, že pred zmenou verzie PHP na novšiu a rýchlejšiu v ovládacom paneli vášho hostingu si musíte skontrolovať kompatibilitu stránky WordPress s ňou, konkrétne témy a pluginy. Táto potreba vzniká, pretože zvyčajne v nových verziách softvéru sú niektoré funkcie pridané a niektoré prestávajú existovať. Ak doplnok alebo téma používa funkcie alebo metódy, ktoré v novej verzii neexistujú, je to znakom chyby, ktorá môže narušiť fungovanie stránky ako celku.

Ako skontrolovať kompatibilitu s PHP 7.0? Plugin na kontrolu kompatibility PHP

Plugin PHP Compatibility Checker umožňuje preskenovať celú stránku a označiť, ktoré jej súčasti (témy, pluginy) nie sú kompatibilné s vybranou verziou PHP. Najprv ho musíte nainštalovať a aktivovať, potom prejdite na panel správcu Nástroje -> Kompatibilita PHP.

Ako vidíte, plugin ponúka veľmi prehľadné nastavenia. Ak chcete spustiť kontrolu, musíte vybrať verziu PHP, s ktorou chcete skontrolovať kompatibilitu stránky (blok verzie PHP). Pohodlnou funkciou pluginu je výber stavu kontrolovaných komponentov. Na výber sú dve možnosti: buď skontrolovať medzi aktívnymi témami a pluginmi, alebo v neaktívnych (pole Plugin / Theme Status). Ak chcete spustiť skenovanie, kliknite na tlačidlo Znova skenovať stránku.

Výsledok testu je možné stiahnuť aj v textovom súbore kliknutím na tlačidlo Stiahnuť správu.

Každý, kto pozná WordPress, už počul o súbore témy (šablóny) functions.php. Nie každý však dobre chápe jeho účel, pretože ho vníma len ako súbor, v ktorom sú uložené rôzne funkcie PHP. Na internete, podobne ako na mojej stránke, sa často navrhuje pridať do tohto súboru PHP kód. Nie každý kód však bude fungovať pre tento súbor. Nie preto, že to nebude fungovať, ale preto, že to nezodpovedá logike používania.

Taktiež pri úprave functions.php začiatočníci robia chyby, kvôli ktorým stránka prestane fungovať.

V tomto článku sa pokúsim zvážiť všetky tieto body: kedy použiť functions.php a kedy je lepšie to nerobiť, aké chyby sa môžu vyskytnúť pri úprave functions.php.

Vlastnosti features.php

functions.php sa nachádza v priečinku témy a načítava sa zakaždým, keď si prezeráte externú časť stránky, v admin paneli a dokonca aj počas požiadaviek AJAX. Neexistuje prípad, kedy by functions.php neboli zahrnuté a to otvára široké možnosti pre vývojárov.

Napríklad nasledujúci kód vložený do súboru functions.php témy rozšíri možnosti témy povolením podpory pre miniatúry príspevkov:

Add_action("after_setup_theme", "wp_kama_theme_setup"); function wp_kama_theme_setup())( // podpora miniatúr add_theme_support("post-thumbnails"); )

Ďalší príklad, kód nahradí text v päte administračného panela WordPress údajmi o počte požiadaviek na databázu, čase generovania stránky a využití pamäte:

## Údaje o počte požiadaviek do databázy v admin paneli add_filter("admin_footer_text", "wp_usage"); // v administračnom paneli add_filter("wp_footer", "wp_usage"); // na webovej stránke funkcia wp_usage())( echo sprintf(__("SQL: %d za %s s. %s MB", "km"), get_num_queries(), timer_stop(0, 3), round(memory_get_peak_usage () /1024/1024, 2)); )

function.php vs pluginy

- "Pluginy fungujú pomalšie ako kód v súbore functions.php," hovorí ignorant - nie je to tak!

Teoreticky je vloženie kódu do functions.php to isté ako inštalácia pluginu, ale nie je to to isté. Keď totiž zmeníme tému, dostaneme úplne iné features.php a všetky vykonané zmeny sa stratia, ale plugin zostane, nech je téma zmenená akokoľvek. Z týchto dôvodov sa musíme odvolať na súbor functions.php. Ak sa pridaná funkcia netýka iba témy, ale aj stránky ako celku, mali by ste porozmýšľať nad jej pripojením ako doplnku.

Druhý príklad vyššie je „Údaje o počte dopytov do databázy v päte panela správcu“. Logicky nie je vhodný na použitie v súbore functions.php. Pretože ak zmeníme šablónu, prídeme o túto funkcionalitu, no používa sa v admin paneli a je potrebná bez ohľadu na použitú tému.

Poďme ho teda odstrániť z functions.php a urobme z neho plugin – je to jednoduché!

Ak chcete vytvoriť doplnok, musíte vytvoriť súbor s kódom uvedeným nižšie (názov súboru môže byť ľubovoľný), pridať ho do adresára doplnkov wp-content/plugins/ a aktivovať doplnok na paneli správcu:

. Ak kód, ktorý vkladáte, obsahuje tieto značky na začiatku a na konci, je potrebné ich odstrániť. Súbor functions.php by tiež nemal zobrazovať žiadny text (HTML kód alebo iný obsah) na obrazovke. Textový výstup je povolený iba vo funkciách, ktoré sa neskôr použijú v šablóne alebo ktoré sú pripojené k háčikom (ďalšie podrobnosti nájdete nižšie).

Nemôžete povoliť žiadne znaky pred , vrátane neviditeľných znakov (zalomení riadkov), pretože functions.php je pripojený pred nastavením http hlavičiek (takéto hlavičky poskytujú rôzne údaje, napríklad, že ide o html dokument, že kódovanie utf-8 je iné ). Podľa pravidiel PHP by sa obsah mal zobraziť na obrazovke po odoslaní hlavičiek. A všetko mimo je obsah – text zobrazený na obrazovke, dokonca aj neviditeľný \n znak. Preto tento text spôsobuje chybu.

Aby ste sa vyhli chybám, zvážte 4 body: #1 Správne vnorenie

Napríklad sme mali túto štruktúru:

.......tu je kód......... ?>

Správne takto:

#2 Žiadne zlomy riadkov, medzery, text predtým

Tento kód spôsobí chybu:

Ale tento nie:

Logickejšie je to napísať takto:

Stáva sa, že zalomenie riadku je umiestnené na samom konci functions.php a to sa stáva skutočným problémom, pretože sa zdá, že všetko je správne, ale stránka nefunguje. Vlastne po?> alebo predtým, než bude prázdny riadok

Z tohto dôvodu mnohí vývojári úplne odstránia koncový tag ?>, čo je v PHP prijateľné. Odporúčam vždy urobiť toto:

vnútri funkcií PHP

Ak je funkcia vo functions.php, potom je možné v tejto funkcii použiť značky, napríklad na vizuálne zvýraznenie HTML kódu vo funkcii:

toto je html kód

Faktom je, že v tomto prípade je funkcia iba zaregistrovaná a nevykonáva žiadne akcie. Všetko vo funkcii (medzi ( )) nefunguje, kým sa táto funkcia nezavolá, a takéto funkcie sa zvyčajne volajú zo šablóny alebo cez filtre po odoslaní hlavičiek HTTP. Takže v tomto príklade môžeme zalomenia riadkov ignorovať a použiť ?> a