Tlačítko „Upravit pomocí Page Builder Sandwich“ se nezobrazuje
Pokud na webu nevidíte tlačítko „Upravit pomocí Page Builder Sandwich“, můžete vyzkoušet několik věcí:
Ujistěte se, že je vaše horní lišta (Admin Bar) viditelná
Tlačítko pro úpravy PB Sandwich je k dispozici v horní liště na webu. Ujistěte se, že je horní lišta viditelná – přejděte do administrace a přejděte na Uživatelé > Váš profil a zkontrolujte, zda je zaškrtnuto pole Zobrazit ovládací panel při prohlížení webu.

Ujistěte se, že jste na stránce, v příspěvku nebo ve vlastním typu příspěvku
Na webu lze upravovat pouze příspěvky, stránky a vlastní typy příspěvků. Přímo na webu můžete upravovat pouze věci, které můžete upravovat pomocí editoru obsahu WordPressu v administraci. Ostatní oblasti vašeho webu – např. seznam blogových příspěvků na úvodní stránce, seznam všech blogových příspěvků, výpisy kategorií, stránky 404, stránky s výsledky vyhledávání – jsou dynamické stránky vytvořené WordPressem spolu s používanou šablonou a nelze je upravovat pomocí PB Sandwich.
Jedním z ukazatelů, zda je aktuální webová stránka upravitelná, je přítomnost položky „Upravit příspěvek“ nebo „Upravit stránku“ v horní liště.
Ujistěte se, že váš obsah není dynamicky generován šablonou nebo pluginem
Pokud je vaše stránka/příspěvek generována dynamicky šablonou nebo pluginem, nebude ji možné upravovat pomocí Page Builder Sandwich (a s největší pravděpodobností ani v jiných nástrojích pro tvorbu stránek). Pokud si všimnete, že váš editor obsahu v administraci je prázdný, ale při zobrazení stránky na webu je plná obsahu, je to spolehlivý indikátor toho, že je vaše stránka generována dynamicky.
Chcete-li zkontrolovat, zda je vaše stránka generována dynamicky, zobrazte zdrojový kód stránky (klikněte pravým tlačítkem a zvolte „Zobrazit zdrojový kód stránky“). Vyhledejte text „pbs-main-wrapper“ – pokud tento text nikde nevidíte, je vaše stránka generována dynamicky.
Zde je několik příkladů dynamicky generovaného obsahu:
- Vaše stránka je tvořena několika widgety, které přidáváte/upravujete pomocí Přizpůsobení,
- Vaše stránka se skládá z různých stránek poskládaných dohromady jednostránkovou šablonou („one page“) (v tomto případě můžete stále upravovat jednotlivé stránky, ale ne výslednou složenou stránku) nebo
- Vaše stránka je tvořena nejnovějšími příspěvky na blogu.
Zkuste nejprve přidat nějaký obsah
Vyskytly se případy, kdy šablona nezobrazila obsah vůbec, pokud byl prázdný, a PBS se kvůli tomu mylně domníval, že stránka není upravitelná. Chcete-li ověřit, zda je to váš případ, upravte stránku/příspěvek v editoru v administraci, zkuste do obsahu přidat jakýkoli text (například „ahoj“) a poté odtud klikněte na tlačítko „Upravit pomocí Page Builder Sandwich“.
Děkujeme Mathiasi Hellquistovi za tento tip!
Ujistěte se, že stránka není „ve vlastnictví“ jiného page builderu
Některé page buildery vás nutí vybrat si mezi výchozím editorem obsahu WordPressu a vlastním editorem page builderu. Pokud jste stránku již upravovali pomocí jiného page builderu, je možné, že si tento nástroj obsah již „přivlastnil“ a ostatní háčky/filtry obsahu se již nemohou spustit. Z tohoto důvodu nemusí Page Builder Sandwich někdy rozpoznat, kde se váš obsah nachází, a tlačítko pro úpravy nezobrazí, protože není co upravovat.
Chcete-li to napravit, jednoduše se rozhodněte daný page builder pro tuto konkrétní stránku/příspěvek nepoužívat a zvolte použití výchozího editoru obsahu WordPressu.
Ujistěte se, že máte oprávnění k úpravám stránky
Tlačítko pro úpravy se nezobrazí, pokud stránku nemůžete upravovat. Pokud jste například redaktor nebo přispěvatel a můžete na webu psát blogové příspěvky a články, nemusí to nutně znamenat, že můžete upravovat úvodní stránku nebo kontaktní stránku. Pokud v horní liště vidíte tlačítko „Upravit příspěvek“, měli byste mít možnost jej upravit i pomocí PB Sandwich. V případě potřeby požádejte správce webu o oprávnění k úpravám.
Může se jednat o chybu JavaScriptu, která brání PB Sandwich ve fungování
PB Sandwich intenzivně využívá JavaScript. Pokud se vyskytnou chyby JavaScriptu způsobené jinými skripty, které na svém webu máte, může to PB Sandwich zabránit ve fungování. Chcete-li zjistit, zda je to tento případ, můžete v prohlížeči otevřít vývojářskou konzoli a zkontrolovat chyby.
Doporučuji k tomu použít Chrome. Klikněte pravým tlačítkem myši kdekoli na stránce a poté klikněte na možnost „Prozkoumat“. Tím se ve spodní části prohlížeče otevře nový panel; klikněte na záložku „Console“ (Konzole). Pokud máte chyby, měli byste vidět něco takového:

Pokud se vám chyba zobrazí, můžete také zjistit, odkud pochází, kliknutím nebo najetím myší na název skriptu:

Tyto chyby mohou pocházet z vaší šablony nebo jiných pluginů, které máte nainstalované. Oprava těchto chyb může způsobit, že PB Sandwich začne znovu fungovat.
Pokud chybu JavaScriptu způsobuje vaše šablona nebo některý z vašich pluginů, dejte nám prosím vědět e-mailem na adresu [email protected] a my uděláme vše pro to, abychom problém vyřešili 🙂
Pokud používáte CloudFlare, ujistěte se, že je vypnutý Rocket Loader
CloudFlare je široce používaná bezplatná služba DNS CDN. Je skvělá, ale PBS má v současné době problémy s funkcí Rocket Loader. Rocket Loader zkracuje dobu načítání souborů JavaScriptu, ale narušuje závislosti a pořadí volání skriptů PBS. Pokud máte Rocket Loader zapnutý, tlačítko pro úpravy Page Builder Sandwich se nezobrazí (a v konzoli JavaScriptu se neobjeví žádné chyby).
Chcete-li zkontrolovat, zda váš web používá Rocket Loader od CloudFlare, zobrazte zdrojový kód stránky (klikněte pravým tlačítkem a zvolte „Zobrazit zdrojový kód stránky“) a vyhledejte text „rocketscript“. Pokud tento text najdete, máte Rocket Loader zapnutý.

Přečtěte si článek Kompatibilita CloudFlare & Rocket Loader, kde najdete podrobné pokyny k jeho vypnutí.
Vše z toho jsem vyzkoušel(a) a tlačítko pro úpravy se stále nezobrazuje!
Dobře, pokud v této chvíli žádné z výše uvedených řešení nefunguje, možná nastal čas vysvětlit, proč se nezobrazuje a co s tím dělat. Připraveni? Jdeme na to!
Vysvětlení „Proč“ (netechnicky)
Page Builder Sandwich potřebuje vědět, kde se nachází obsah vaší stránky/příspěvku. Dělá to tak, že sleduje, kdy WordPress načítá obsah příspěvku, a tuto oblast si „označí“, aby po načtení všeho našel to podstatné.
Některé pluginy tento proces někdy přepíší nebo obejdou a místo toho se snaží načíst obsah vlastním způsobem. Někdy je to v pořádku, ale v určitých situacích – zvláště pokud jde o načítání hlavního obsahu příspěvku – to může způsobit nefunkčnost některých pluginů. Když jiný plugin tento proces načítání obejde, naše „značky“ se mohou ztratit, a když nastane čas pro spuštění editoru, ten už váš obsah nedokáže najít. Tlačítko pro úpravy se tedy nezobrazí! Můžete si také všimnout, že ze stejného důvodu mohou přestat fungovat i některé pluginy, které na stránku přidávají obsah, například některé pluginy pro sdílení na sociálních sítích.
Vysvětlení „Proč“ (technicky)
Page Builder Sandwich potřebuje vědět, kde se nachází obsah vaší stránky/příspěvku, a dělá to tak, že se napojí na filtr the_content a obalí váš hlavní obsah obalovým prvkem (wrapperem). Některé pluginy to mohou přepsat a místo toho dále v kódu přepsat obsah funkcí get_the_content(). Tím se bohužel zabrání volání VŠECH filtrů the_content, a obalovací prvek PBS se tak ztratí. Stejně tak by se ztratily i změny jakéhokoli jiného pluginu.
Na samotném použití get_the_content() není nic špatného, ale může to mít nežádoucí účinky, pokud je použito v hlavním dotazu a uvnitř šablony jednotlivého příspěvku namísto běžného volání the_content(), kde se spouštějí všechny filtry the_content.
Co s tím můžete udělat
To, zda „označení“ Page Builder Sandwich chybí, můžete zkontrolovat tak, že navštívíte stránku/příspěvek na webu a zobrazíte si zdrojový kód stránky během přihlášení. V záplavě kódu zkuste vyhledat řetězec:
data-name="main-content"
Pokud jej najdete, pak se někde zřejmě vyskytl problém s JavaScriptem – v takovém případě nám dejte vědět, jakou šablonu a pluginy používáte, a my to opravíme.
Pokud jej ale nenajdete, je možné, že vaše šablona (nebo plugin, ale u stránky či blogového příspěvku je to s největší pravděpodobností šablona) dělá s obsahem příspěvku něco nestandardního. V takovém případě byste měli kontaktovat autora šablony a dát mu o problému vědět! Můžete mu také ukázat technické vysvětlení „proč“ uvedené výše, což může pomoci při ladění 🙂
Pokud si troufáte na úpravy v PHP, můžete se pokusit o nápravu vyhledáním souboru šablony, který zpracovává obsah příspěvku. Jedním z řešení, se kterým jsme se setkali, je nahrazení volání:
$content = get_the_content();
za:
ob_start(); the_content(); $content = ob_get_clean();<br>
Poznámka: Proměnná v PHP se u vás může lišit, ale princip zůstává stejný. Pokud to funguje, bylo by také lepší vytvořit potomkovou šablonu (child theme) namísto zavádění této změny přímo do hlavní šablony. Změna může mít také vedlejší účinky, proto je lepší toto řešení konzultovat s autorem šablony.