Il pulsante “Modifica con Page Builder Sandwich” non viene visualizzato

Il pulsante “Modifica con Page Builder Sandwich” non compare

Se non riesci a vedere il pulsante “Modifica con Page Builder Sandwich” nel frontend del tuo sito, ecco alcune cose che puoi provare:

Assicurati che la tua barra di amministrazione sia visibile

Il pulsante di modifica di PB Sandwich è disponibile nella barra di amministrazione nel frontend. Assicurati che la barra di amministrazione sia visibile accedendo alla tua bacheca e andando su  Utenti > Il tuo profilo e controlla attentamente che la casella Mostra la barra degli strumenti quando si visualizza il sito sia spuntata.

e5960e581e file w9uN2EeCjm

Assicurati di trovarti in una pagina, un articolo o un tipo di post personalizzato

Solo gli articoli, le pagine e i tipi di post personalizzati sono modificabili nel frontend. Puoi modificare elementi nel frontend solo se puoi modificarli utilizzando l’editor di contenuti di WordPress nel backend. Le altre aree del tuo sito (ad es. l’elenco degli articoli del blog in homepage, l’elenco di tutti gli articoli del blog, gli elenchi delle categorie, le pagine 404, le pagine di ricerca) sono pagine dinamiche create da WordPress insieme al tema in uso e non possono essere modificate con PB Sandwich.

Un indicatore per capire se la pagina web corrente è modificabile è la presenza della voce “Modifica articolo” o “Modifica pagina” nella barra di amministrazione.

Assicurati che il tuo contenuto non sia generato dinamicamente dal tema o da un plugin

Se la tua pagina/il tuo articolo è generato dinamicamente da un tema o da un plugin, non sarà modificabile con Page Builder Sandwich (e molto probabilmente nemmeno con altri page builder). Se noti che l’editor di contenuti nel backend è vuoto, ma visualizzando la pagina nel frontend è ricca di contenuti, questo è un chiaro indicatore che la pagina è generata dinamicamente.

Per verificare se la pagina è generata dinamicamente, visualizza il sorgente della pagina web (fai clic con il tasto destro e poi scegli “Visualizza sorgente pagina”). Cerca il testo “pbs-main-wrapper”: se non riesci a visualizzare questo testo da nessuna parte, la pagina è generata dinamicamente.

Ecco alcuni esempi di contenuti generati dinamicamente:

  • La pagina è composta da più widget che aggiungi/modifichi tramite lo strumento di personalizzazione,
  • La pagina è composta da diverse pagine assemblate da un tema “one page” (in questo caso puoi comunque modificare le singole pagine, ma non quella combinata), oppure
  • La pagina è composta dagli ultimi articoli del blog.

Prova prima ad aggiungere del contenuto

Si sono verificati casi in cui il tema non mostrava affatto il contenuto se questo era vuoto, e ciò ha indotto erroneamente PBS a pensare che la pagina non fosse modificabile. Per verificare se si tratta di questo caso, modifica la pagina/l’articolo nell’editor del backend, prova ad aggiungere un testo qualsiasi nel contenuto (ad esempio “ciao”), quindi fai clic sul pulsante “Modifica con Page Builder Sandwich” da lì.

Grazie a Mathias Hellquist per questo consiglio!

Assicurati che la pagina non sia “gestita” da un altro page builder

Alcuni page builder ti impongono di scegliere se utilizzare l’editor di contenuti predefinito di WordPress o l’editor proprietario del page builder. Se hai già modificato la pagina usando un altro page builder, è possibile che quest’ultimo abbia già “rivendicato” il contenuto e che altri hook/filtri per i contenuti non possano più essere eseguiti. Per questo motivo, a volte Page Builder Sandwich non riuscirà a rilevare dove si trova il contenuto e non mostrerà il pulsante di modifica perché non c’è nulla da modificare.

Per risolvere il problema, basta scegliere di non utilizzare quel page builder per quella specifica pagina/articolo e optare per l’uso dell’editor di contenuti predefinito di WordPress.

Assicurati di disporre dei permessi di modifica per la pagina

Il pulsante di modifica non apparirà se non hai i permessi per modificare la pagina. Ad esempio, se sei un editor o un collaboratore e puoi scrivere post e articoli sul sito, ciò non significa necessariamente che tu possa modificare la home page o la pagina dei contatti. Se riesci a vedere il pulsante “Modifica articolo” nella barra di amministrazione, dovresti anche essere in grado di modificarlo tramite PB Sandwich. Se necessario, chiedi all’amministratore del sito i privilegi di modifica.

Potrebbe esserci un errore Javascript che impedisce il funzionamento di PB Sandwich

PB Sandwich fa ampio uso di Javascript. Se sono presenti errori Javascript dovuti ad altri script sul tuo sito, questo potrebbe impedire a PB Sandwich di funzionare. Per verificare se si tratta di questo caso, puoi aprire la console per sviluppatori nel browser per controllare la presenza di errori. 

Ti consigliamo di usare Chrome per questa operazione. Fai clic con il tasto destro su un punto qualsiasi della pagina, quindi seleziona l’opzione “Ispeziona”. Verrà aperta una nuova sezione nella parte inferiore del browser: fai clic sulla scheda “console”. Se ci sono errori, dovresti vedere qualcosa di simile a questo:

4acce143a3 file

Se riscontri un errore, puoi anche scoprire da dove proviene facendo clic o passando il mouse sopra il nome dello script:

abb5a87c67 file ITjVcdhZQU

Questi errori potrebbero provenire dal tema o da altri plugin installati. Risolvere questi errori può consentire a PB Sandwich di tornare a funzionare.

Se il tema o uno dei plugin sta causando l’errore Javascript, ti invitiamo a comunicarcelo via email all’indirizzo  [email protected] e faremo del nostro meglio per risolvere il problema 🙂

Se stai utilizzando CloudFlare, assicurati che Rocket Loader sia disattivato

CloudFlare è un DNS CDN gratuito ampiamente utilizzato. È ottimo, ma attualmente PBS presenta problemi con la funzionalità Rocket Loader. Rocket Loader migliora il tempo di caricamento dei file Javascript, ma altera le dipendenze e l’ordine di chiamata degli script di PBS. Se Rocket Loader è attivo, il pulsante di modifica di Page Builder Sandwich non comparirà (e non verrà visualizzato alcun errore nella console Javascript).

Per verificare se il tuo sito sta utilizzando Rocket Loader di CloudFlare, visualizza il sorgente della pagina web (fai clic con il tasto destro e poi scegli “Visualizza sorgente pagina”), quindi cerca il testo “rocketscript”: se trovi quel testo, significa che Rocket Loader è attivo.

e4dff5b8c0 file tPnWvP09FF

Leggi l’articolo sulla  compatibilità con CloudFlare e Rocket Loader per le istruzioni complete su come disattivarlo.


Ho provato tutte queste soluzioni e il pulsante di modifica continua a non comparire!

Bene, a questo punto, se nessuna delle soluzioni precedenti ha funzionato, potrebbe essere il momento di spiegare perché non compare e cosa fare al riguardo. Sei pronto? Andiamo!

Il “perché” (in termini non tecnici)

Page Builder Sandwich deve sapere dove si trova il contenuto della tua pagina/del tuo articolo. Lo fa intercettando il momento in cui WordPress carica il contenuto dell’articolo e “contrassegnando” quell’area, in modo tale che, una volta caricato tutto, sia possibile individuare i contenuti veri e propri.

A volte, alcuni plugin scavalcano o aggirano questo processo e provano a caricare il contenuto a modo loro. In alcuni casi non crea problemi, ma in determinati scenari, soprattutto quando si tratta di caricare il contenuto dell’articolo principale, ciò può causare l’interruzione del funzionamento di alcuni plugin. Quando un altro plugin aggira questo processo di caricamento, i “contrassegni” applicati potrebbero andare persi e, al momento dell’attivazione dell’editor, questo non è più in grado di trovare dove si trovi il contenuto. Di conseguenza, il pulsante di modifica non compare! Potresti anche notare che alcuni plugin che aggiungono contenuti alla pagina, come ad esempio certi plugin di condivisione social, potrebbero smettere di funzionare esattamente per la stessa ragione.

Il “perché” (in termini tecnici)

Page Builder Sandwich deve  sapere dove si trova il contenuto della tua pagina/del tuo articolo, e lo fa agganciandosi al filtro the_content e aggiungendo un wrapper attorno al contenuto principale. Alcuni plugin potrebbero ignorare questo comportamento e sovrascrivere invece il contenuto con una funzione get_the_content() più avanti nel flusso di esecuzione. Purtroppo, questa operazione impedisce l’esecuzione di TUTTI i filtri the_content e di conseguenza il wrapper di PBS va perso. Anche le modifiche apportate da qualsiasi altro plugin andrebbero perse.

Non c’è nulla di sbagliato nell’usare get_the_content() di per sé, ma possono esserci effetti collaterali se viene utilizzato nella query principale e all’interno della pagina template del singolo articolo anziché tramite la normale chiamata a the_content(), in cui vengono eseguiti tutti i filtri di the_content.

Cosa fare al riguardo

Puoi verificare se i “contrassegni” di Page Builder Sandwich non sono presenti visitando la pagina/l’articolo nel frontend e visualizzando il sorgente della pagina dopo aver effettuato l’accesso. Cerca tra le righe di codice se riesci a trovare la stringa:

data-name="main-content"

Se riesci a trovarla, potrebbe trattarsi semplicemente di un problema Javascript da qualche parte: comunicaci il tema e i plugin che stai utilizzando e potremo risolverlo.

Se invece non riesci a trovarla, potrebbe darsi semplicemente che il tema (o un plugin, ma molto probabilmente è il tema se si tratta di una pagina o di un articolo del blog) stia modificando il contenuto dell’articolo. In tal caso, dovresti contattare l’autore del tema e informarlo del problema! Puoi anche mostrargli la spiegazione tecnica del “perché” riportata sopra, potrà essere d’aiuto per il debug 🙂

Se ti senti a tuo agio a mettere mano al codice PHP, puoi provare a risolvere il problema individuando il file di template che gestisce il contenuto dell’articolo. Una soluzione che abbiamo riscontrato consiste nel sostituire le chiamate a:

$content = get_the_content();

con:

ob_start();
the_content();
$content = ob_get_clean();<br>

Nota: la variabile PHP potrebbe variare nel tuo caso, ma il concetto rimane lo stesso. Se funziona, sarebbe inoltre preferibile creare un tema child invece di applicare questa modifica direttamente nel tema principale. Potrebbero verificarsi anche effetti collaterali a causa della modifica, quindi è meglio consultare l’autore del tema al riguardo.