De knop “Edit with Page Builder Sandwich” verschijnt niet
Als je de knop “Edit with Page Builder Sandwich” niet ziet aan de voorkant van je site, zijn hier een paar dingen die je kunt proberen:
Zorg ervoor dat je beheerbalk zichtbaar is
De bewerkknop voor PB Sandwich is beschikbaar in de beheerbalk aan de voorkant van je site. Zorg ervoor dat de beheerbalk zichtbaar is door naar je beheeromgeving te gaan en te navigeren naar Gebruikers > Je profiel en controleer of het selectievakje bij Toolbar tonen tijdens het bekijken van de site is aangevinkt.

Zorg ervoor dat je je op een pagina, bericht of aangepast berichttype bevindt
Alleen berichten, pagina’s & aangepaste berichttypen zijn bewerkbaar aan de voorkant. Je kunt alleen elementen aan de voorkant bewerken als je ze kunt bewerken met de content-editor van WordPress in de back-end. De andere onderdelen van je site – bijv. het overzicht van blogberichten op de voorpagina, het overzicht van alle blogberichten, categorieoverzichten, 404-pagina’s, zoekpagina’s – zijn dynamische pagina’s die door WordPress samen met het gebruikte thema worden gemaakt en kunnen niet worden bewerkt met PB Sandwich.
Een indicatie of de huidige webpagina bewerkbaar is, is of je “Bericht bewerken” of “Pagina bewerken” in je beheerbalk ziet staan.
Zorg ervoor dat je content niet dynamisch wordt gegenereerd door je thema of een plug-in
Als je pagina/bericht dynamisch wordt gegenereerd door een thema of plug-in, kan deze niet worden bewerkt met Page Builder Sandwich (en hoogstwaarschijnlijk ook niet met andere pagebuilders). Als je merkt dat je content-editor in de back-end leeg is, maar je pagina aan de voorkant vol staat met content, dan is dat een goede indicatie dat je pagina dynamisch wordt gegenereerd.
Om te controleren of je pagina dynamisch wordt gegenereerd, bekijk je de broncode van je webpagina (klik met de rechtermuisknop en kies “Paginabron weergeven”). Zoek naar de tekst “pbs-main-wrapper”; als je die tekst nergens ziet staan, wordt je pagina dynamisch gegenereerd.
Hier zijn een paar voorbeelden van dynamisch gegenereerde content:
- Je pagina bestaat uit meerdere widgets die je toevoegt/bewerkt via de Customizer,
- Je pagina bestaat uit verschillende pagina’s die door een “one page”-thema zijn samengevoegd (in dit geval kun je nog steeds de afzonderlijke pagina’s bewerken, maar niet de gecombineerde pagina), of
- Je pagina bestaat uit de nieuwste blogberichten.
Probeer eerst wat content toe te voegen
Er zijn situaties voorgekomen waarin het thema de content helemaal niet weergaf als deze leeg was, waardoor PBS ten onrechte dacht dat de pagina niet bewerkbaar was. Om te controleren of dit het geval is, bewerk je je pagina/bericht in de editor in de back-end, voeg je een willekeurige tekst toe aan je content (bijvoorbeeld “hallo”) en klik je van daaruit op de knop “Edit with Page Builder Sandwich”.
Met dank aan Mathias Hellquist voor deze tip!
Zorg ervoor dat je pagina niet “in bezit” is van een andere pagebuilder
Sommige pagebuilders laten je kiezen tussen de standaard content-editor van WordPress of de eigen editor van de pagebuilder. Als je je pagina al hebt bewerkt met een andere pagebuilder, is het mogelijk dat die pagebuilder de content al heeft “geclaimd”, waardoor andere content-hooks/filters niet meer kunnen worden uitgevoerd. Hierdoor kan Page Builder Sandwich soms niet detecteren waar je content zich bevindt en wordt de bewerkknop niet getoond omdat er niets te bewerken valt.
Om dit op te lossen, kies je ervoor om die pagebuilder niet te gebruiken voor die specifieke pagina/dat specifieke bericht en kies je voor het gebruik van de standaard content-editor van WordPress.
Zorg ervoor dat je bewerkrechten hebt voor de pagina
De bewerkknop verschijnt niet als je de pagina niet kunt bewerken. Als je bijvoorbeeld redacteur of auteur bent en blogberichten en artikelen op de site kunt schrijven, betekent dit niet noodzakelijkerwijs dat je ook de voorpagina of je contactpagina kunt bewerken. Als je de knop “Bericht bewerken” in je beheerbalk ziet, zou je deze ook moeten kunnen bewerken met PB Sandwich. Vraag je sitebeheerder om bewerkrechten als je die nodig hebt.
Er is mogelijk een JavaScript-fout die de werking van PB Sandwich verhindert
PB Sandwich maakt veelvuldig gebruik van JavaScript. Als er JavaScript-fouten optreden die afkomstig zijn van andere scripts op je site, kan dit er mogelijk voor zorgen dat PB Sandwich niet werkt. Om te controleren of dit het geval is, kun je de ontwikkelaarsconsole in je browser openen om op fouten te controleren.
Ik raad aan hiervoor Chrome te gebruiken. Klik met de rechtermuisknop op een willekeurige plek op de pagina en klik vervolgens op de optie “Inspecteren”. Hierdoor verschijnt er onderaan je browser een nieuw venster; klik op het tabblad “Console”. Als er fouten zijn, zou je zoiets als dit moeten zien:

Als je inderdaad een fout hebt, kun je ook een aanwijzing krijgen over waar deze vandaan komt door op de naam van het script te klikken of er met de muis overheen te bewegen:

Deze fouten kunnen afkomstig zijn van je thema of van andere plug-ins die je gebruikt. Het oplossen van die fouten kan ervoor zorgen dat PB Sandwich weer werkt.
Als je thema of een van je plug-ins de JavaScript-fout veroorzaakt, laat het ons dan gerust weten via e-mail op [email protected] en we zullen ons best doen om het probleem op te lossen 🙂
Als je CloudFlare gebruikt, zorg er dan voor dat Rocket Loader is uitgeschakeld
CloudFlare is een veelgebruikte gratis DNS CDN. Het is geweldig, maar PBS heeft momenteel problemen met de functie Rocket Loader. Rocket Loader verbetert de laadtijd van JavaScript-bestanden, maar verstoort de afhankelijkheid en aanroepvolgorde van de scripts van PBS. Als Rocket Loader is ingeschakeld, verschijnt de bewerkknop voor Page Builder Sandwich niet (en verschijnen er ook geen JavaScript-fouten in de console).
Om te controleren of je site gebruikmaakt van Rocket Loader van CloudFlare, bekijk je de broncode van je webpagina (klik met de rechtermuisknop en kies “Paginabron weergeven”) en zoek je naar de tekst “rocketscript”. Als je die tekst vindt, staat Rocket Loader ingeschakeld.

Lees het artikel over Compatibiliteit van CloudFlare & Rocket Loader voor volledige instructies over hoe je dit uitschakelt.
Ik heb dat allemaal gedaan en de bewerkknop staat er nog steeds niet!
Goed, als op dit punt geen van de bovenstaande oplossingen werkt, is het misschien tijd om uit te leggen waarom deze niet verschijnt en wat je eraan kunt doen. Klaar? Daar gaan we!
Het “waarom” (in niet-technische termen)
Page Builder Sandwich moet weten waar de content van je pagina/bericht zich bevindt. We doen dit door te luisteren naar wanneer WordPress de berichtcontent laadt en dat gebied te “markeren”, zodat we wanneer alles geladen is, kunnen vinden waar de content staat.
Soms overschrijven of omzeilen bepaalde plug-ins dit proces en proberen ze de content op hun eigen manier te laden. Soms is dat prima, maar in bepaalde scenario’s, met name wanneer het gaat om het laden van de hoofdcontent van het bericht, kan dit ertoe leiden dat sommige plug-ins niet meer werken. Wanneer een andere plug-in dit laadproces omzeilt, kunnen de “markeringen” die we hebben aangebracht verloren gaan, en wanneer het tijd is voor de editor om in actie te komen, kan deze niet meer vinden waar je content is. Daarom verschijnt de bewerkknop niet! Het kan ook zijn dat sommige plug-ins die content aan je pagina toevoegen, zoals bepaalde plug-ins voor sociaal delen, om exact dezelfde reden niet meer werken.
Het “waarom” (in technische termen)
Page Builder Sandwich moet weten waar de content van je pagina/bericht zich bevindt, en doet dit door in te haken op het the_content-filter en een wrapper om je hoofdcontent te plaatsen. Sommige plug-ins kunnen dit overschrijven en in plaats daarvan later de content overschrijven met een get_the_content()-functie. Helaas zorgt dit ervoor dat ALLE the_content-filters niet worden aangeroepen en daardoor gaat de wrapper van PBS verloren. Wijzigingen van andere plug-ins gaan dan eveneens verloren.
Er is op zich niets mis met het gebruik van get_the_content(), maar er kunnen nadelige gevolgen zijn als dit wordt gebruikt in de main query en binnen een single post-templatepagina in plaats van een normale the_content()-aanroep waarbij alle the_content-filters worden uitgevoerd.
Wat je eraan kunt doen
Je kunt controleren of de “markeringen” van Page Builder Sandwich ontbreken door je pagina/bericht aan de voorkant te bezoeken en de paginabron te bekijken terwijl je bent ingelogd. Zoek in de wirwar van code of je de volgende tekenreeks kunt vinden:
data-name="main-content"
Als je deze kunt vinden, is er waarschijnlijk ergens een JavaScript-probleem; laat ons dan weten welk thema en welke plug-ins je gebruikt, dan kunnen we dat oplossen.
Maar als je deze niet kunt vinden, kan het zijn dat je thema (of een plug-in, maar het is hoogstwaarschijnlijk het thema als het om een pagina of blogbericht gaat) iets met de berichtcontent doet. Als dit het geval is, neem dan contact op met de maker van het thema en stel hen op de hoogte van het probleem! Je kunt hen ook de bovenstaande technische “waarom”-uitleg laten zien; dit kan helpen bij het debuggen 🙂
Als je je vertrouwd genoeg voelt om met PHP aan de slag te gaan, kun je proberen het op te lossen door het sjabloonbestand te zoeken dat de berichtcontent verwerkt. Een oplossing die we zijn tegengekomen is het vervangen van aanroepen van:
$content = get_the_content();
door:
ob_start(); the_content(); $content = ob_get_clean();<br>
Opmerking: de PHP-variabele kan bij jou anders zijn, maar het concept is hetzelfde. Als het werkt, is het bovendien beter om een child-thema te maken in plaats van deze wijziging rechtstreeks in je thema door te voeren. Er kunnen ook bijwerkingen optreden als gevolg van de wijziging, dus het is verstandig om hierover contact op te nemen met de maker van je thema.