Zrychlete zásadně svůj WordPress s LiteSpeed nebo Redis!        Chceš pracovat u nás ?        Zapoj se do našeho provizního systému.

Web po přechodu na PHP 8.2 nefunguje? Jak opravit WordPress krok za krokem

22.10.2026
Pavel Urbánek

Pokud váš web po přechodu na PHP 8.2 přestal fungovat, nejde o chybu serveru, ale o zastaralý kód v pluginu, šabloně nebo jádře WordPressu. Tento návod vás krok za krokem provede od zjištění příčiny až po plnou obnovu webu.

Navazuje na naše oznámení o vynucené aktualizaci PHP. Nejčastěji se projeví bílou stránkou, hláškou „Na webu došlo k závažné chybě“ nebo chybou 500.

1. Diagnostika problému: co se na webu stalo?

Příčinu výpadku najdete v error logu, který za vás zachytává server. Bez něj se opravuje naslepo.

Kontrola serverových logů

Připojte se na FTP. Error log najdete ve složce domény, vedle adresářů jednotlivých subdomén. Otevřete jej a podívejte se na nejnovější záznamy z doby, kdy web přestal fungovat.

Hledejte řádky začínající PHP Fatal error. Záznam obvykle vypadá takto:

PHP Fatal error: Uncaught Error: Call to undefined function create_function() in /wp-content/plugins/nazev-pluginu/soubor.php:123

Z cesty v chybě poznáte viníka:

  • wp-content/plugins/nazev-pluginu/ – problém způsobuje konkrétní plugin.
  • wp-content/themes/nazev-sablony/ – problém je v šabloně.
  • wp-includes/ nebo wp-admin/ – zastaralé jádro WordPressu.

Typické příčiny jsou funkce odstraněné v novějším PHP (například create_function() nebo each()) a dlouho neaktualizované pluginy či šablony.

Proč k situaci došlo

Změna verze PHP byla nutná, protože pro starší verzi byla zveřejněna bezpečnostní zranitelnost. Ponechat web na neopravené verzi by ohrožovalo nejen váš web, ale i data vašich návštěvníků.

Samotná změna PHP ale web nerozbila. Skutečnou příčinou je, že se o zdraví webu dlouhodobě nikdo nestaral: šablona, pluginy ani jádro WordPressu se pravidelně neaktualizovaly. Web tak nebyl připravený na změnu, která bohužel kvůli bezpečnosti musela nastat.

Pravidelně udržovaný web by přechodem na PHP 8.2 prošel bez výpadku, protože autoři pluginů a šablon kompatibilitu průběžně doplňují ve svých aktualizacích.

Proč nepomůže obnova ze zálohy

Obnova ze zálohy problém nevyřeší. Soubory v záloze jsou stejné jako ty současné a obsahují stejný nekompatibilní kód. Web by po obnově na PHP 8.2 spadl znovu.

Jediné trvalé řešení je zajistit kompatibilitu webu s novější verzí PHP, tedy aktualizovat nebo nahradit problematické části.

Před opravou si přesto vytvořte zálohu souborů i databáze. Web s ní neopravíte, ale budete mít bod návratu, kdyby se některý krok nepovedl. Aktualizace jádra totiž mění i databázi a bez zálohy ji vrátit nejde.

2. Záchranný postup: zprovoznění administrace

Cílem tohoto kroku je dostat se znovu do administrace WordPressu.

Odkaz pro režim obnovení v e-mailu

Nejdřív se podívejte do schránky e-mailu administrátora webu. Při kritické chybě WordPress obvykle pošle zprávu, ve které uvede, který plugin nebo šablona chybu způsobil, a přiloží odkaz pro přihlášení v režimu obnovení. V tomto režimu WordPress vadný plugin nebo šablonu pro vás pozastaví a pustí vás do administrace. Odkaz platí jeden den.

V administraci vadný plugin deaktivujte (u šablony aktivujte jinou) a pokračujte aktualizacemi podle kapitoly 3. Návštěvníkům web nefunguje, dokud vadný plugin nebo šablonu nevypnete.

Pokud e-mail nepřišel, použijte postup přes FTP. Starší verze WordPressu tyto e-maily neposílají a na některých webech nefunguje odesílání pošty.

Postup přes FTP

Stačí k tomu FTP klient (například FileZilla) a přístup do administrace hostingu.

  1. Deaktivujte pluginy přes FTP. Ve složce wp-content/ přejmenujte složku plugins například na plugins_bak. WordPress pak pluginy nenajde a všechny je hromadně deaktivuje. Žádná data ani nastavení pluginů se tím nesmažou.
  2. Zkontrolujte verzi PHP. V administraci hostingu ověřte, že je u domény nastavené PHP 8.2, a během opravy ji neměňte. Starší verze nedostávají bezpečnostní opravy a skok rovnou na nejnovější PHP by mohl odhalit další nekompatibility. Na novější verzi přejděte až ve chvíli, kdy bude celý web aktualizovaný.
  3. Přihlaste se do administrace. Otevřete vasedomena.cz/wp-admin. Bez pluginů by měl WordPress bezpečně naběhnout a pustit vás dovnitř.

Pokud web stále nenaběhne a error log ukazuje na složku wp-content/themes/, je problém v šabloně. Přejmenujte složku aktivní šablony a WordPress přepne na výchozí šablonu (například Twenty Twenty-Five), pokud je nainstalovaná.

Pokud web nenaběhne ani bez pluginů a error log ukazuje na složku wp-content/mu-plugins/ nebo na soubory advanced-cache.php či object-cache.php ve složce wp-content/, přejmenujte i je. Přejmenování složky plugins je nevypne. Soubory advanced-cache.php a object-cache.php obvykle vytváří plugin pro cache a po své aktualizaci a aktivaci je vytvoří znovu. Složku mu-plugins po opravě přejmenujte zpět.

3. Postupná aktualizace a obnova

Jakmile jste v administraci, aktualizujte web v pevném pořadí: jádro, šablona, pluginy. Jádro jde první, protože nové verze šablon a pluginů často vyžadují aktuální WordPress a se starým jádrem je administrace ani nenabídne. Postupným krokem snadno poznáte, která část web shazuje.

Pořadí aktualizací

  1. Jádro (WordPress Core). V nabídce Nástěnka → Aktualizace aktualizujte WordPress na nejnovější verzi. Pokud vás WordPress poté vyzve k aktualizaci databáze, potvrďte ji.
  2. Šablona (Theme). V nabídce Vzhled → Šablony aktualizujte aktivní šablonu. Pokud používáte podřízenou šablonu (child theme), aktualizujte její nadřazenou šablonu. Pokud jste složku šablony přejmenovali, vraťte jí přes FTP původní název, šablonu aktualizujte a teprve potom ji znovu aktivujte. Po aktivaci zkontrolujte rozmístění widgetů a menu.
  3. Pluginy. Pokud jste pluginy vypnuli přejmenováním složky, nejprve otevřete v administraci stránku Pluginy, dokud je složka ještě přejmenovaná. WordPress tím pluginy oficiálně označí jako deaktivované. Teprve potom přes FTP přejmenujte složku plugins_bak zpět na plugins. Pluginy pak aktualizujte a aktivujte po jednom. Po každé aktivaci zkontrolujte, že web i administrace fungují.

Pokud byste složku přejmenovali zpět dříve, než otevřete stránku Pluginy, WordPress by mohl všechny pluginy znovu zapnout najednou a web by opět spadl.

Na co si dát pozor

  • Placené šablony a pluginy (například z ThemeForestu nebo CodeCanyonu) se bez platné licence v administraci neaktualizují. Novou verzi stáhněte ze svého účtu u prodejce a nahrajte ji ručně přes administraci nebo FTP.
  • Úpravy přímo v souborech šablony nebo pluginu aktualizace přepíše. Pokud vám webmaster web upravoval na míru, poraďte se s ním ještě před aktualizací.
  • Chyba v podřízené šabloně. Pokud error log ukazuje na složku podřízené šablony (obvykle končí na -child), aktualizace nadřazené šablony nepomůže. Chybný kód v ní musí opravit webmaster.

Řešení problematického pluginu

Pokud některý plugin shazuje web i po aktualizaci, není s PHP 8.2 kompatibilní a jeho autor jej pravděpodobně už neudržuje.

  • Ponechte jej deaktivovaný, aby zbytek webu fungoval.
  • Nahraďte jej jiným, aktivně udržovaným pluginem s odpovídající funkcionalitou. V adresáři pluginů na WordPress.org sledujte datum poslední aktualizace a testovanou verzi WordPressu.

Pokud se po aktivaci pluginu nedostanete do administrace, přejmenujte přes FTP jen jeho složku (například nazev-pluginu_bak). Tím vypnete pouze tento jeden plugin.

4. Rychlá a pokročilá varianta: WP-CLI

WP-CLI je nejrychlejší způsob opravy, protože aktualizuje celý web z příkazové řádky bez funkční administrace. Vyžaduje ale pokročilejší znalosti práce v terminálu.

Aktivace v hostingu

Server s WP-CLI aktivujete přímo v administraci hostingu. Poté se k webu připojte přes SSH a přejděte do složky s instalací WordPressu.

Příkazem wp --info ověřte, že WP-CLI používá stejnou verzi PHP jako web. Verze PHP v příkazové řádce se totiž může od verze webu lišit.

Vynucení aktualizací

Parametry --skip-plugins a --skip-themes zajistí, že WP-CLI nenačte rozbitý kód a příkazy proběhnou i na nefunkčním webu.

# Aktualizace jádra a databáze WordPressu
wp core update --skip-plugins --skip-themes
wp core update-db --skip-plugins --skip-themes

# Aktualizace šablon
wp theme update --all --skip-plugins --skip-themes

# Přehled pluginů a dostupných aktualizací
wp plugin list --skip-plugins --skip-themes

# Aktualizace všech pluginů
wp plugin update --all --skip-plugins --skip-themes

Pokud web po aktualizacích stále nefunguje, vypněte konkrétní plugin uvedený v error logu:

wp plugin deactivate nazev-pluginu --skip-plugins --skip-themes

Pokud z logu nepoznáte, který plugin chybu způsobuje, vypněte všechny pluginy najednou, obdobně jako přejmenováním složky přes FTP. Předtím si poznamenejte, které pluginy jsou aktivní. Potom je zapínejte po jednom a po každém zapnutí zkontrolujte, že web funguje.

# Výpis aktivních pluginů
wp plugin list --status=active --skip-plugins --skip-themes

# Vypnutí všech pluginů
wp plugin deactivate --all --skip-plugins --skip-themes

# Zapnutí jednoho pluginu
wp plugin activate nazev-pluginu

Jak předejít dalším problémům

Podpora PHP 8.2 končí 31. prosince 2026. Potom pro ni přestanou vycházet bezpečnostní opravy a web bude potřeba převést na PHP 8.3 nebo novější. Udržovaný web takovou změnu zvládne bez výpadku.

  • Aktualizujte pravidelně. WordPress, šablonu i pluginy kontrolujte alespoň jednou měsíčně. U spolehlivých pluginů můžete zapnout automatické aktualizace.
  • Odstraňte nepoužívané pluginy a šablony. I deaktivovaný plugin může obsahovat zranitelný kód a staré doplňky jsou nejčastější příčinou chyb po změně PHP. Ponechte jen aktivní šablonu a jednu výchozí jako zálohu.
  • Sledujte stav webu. V nabídce Nástroje → Stav webu vás WordPress upozorní na zastaralé PHP, neaktualizované doplňky a další problémy.
  • Po opravě přejděte na novější PHP. Až bude web aktualizovaný a funkční, nastavte v administraci hostingu PHP 8.3 nebo novější a ověřte, že vše funguje. Pokud se objeví chyba, vraťte PHP 8.2 a obraťte se na webmastera.

Když si nejste jistí

Pokud si některým krokem nejste jistí, neexperimentujte a oslovte webmastera. Nejlépe toho, který web vytvářel a zná jeho pluginy, šablonu i případné úpravy na míru.

Pošlete mu výpis z error logu. Výrazně mu tím zkrátí hledání příčiny a ušetří vám čas i peníze.