Бутонът „Edit with Page Builder Sandwich“ не се появява

Написано от

в

, ,

Бутонът „Edit with Page Builder Sandwich“ не се появява

Ако не виждате бутона „Edit with Page Builder Sandwich“ в публичната част на вашия сайт, ето няколко неща, които можете да опитате:

Уверете се, че лентата за администриране е видима

Бутонът за редактиране на PB Sandwich е наличен в лентата за администриране в публичната част. Уверете се, че администраторската лента е видима, като влезете в административния панел и отидете до  Потребители > Вашият профил и проверите дали полето за Показване на лентата с инструменти при разглеждане на сайта е отметнато.

e5960e581e file w9uN2EeCjm

Уверете се, че се намирате в страница, публикация или персонализиран тип съдържание

Само публикации, страници и персонализирани типове съдържание подлежат на редактиране в публичната част. Можете да редактирате елементи в публичната част само ако можете да ги редактирате с помощта на редактора на съдържание на WordPress в административния панел. Другите области на вашия сайт – напр. списъкът с публикации на началната страница, списъкът с всички блог публикации, списъците с категории, страниците 404, страниците за търсене – са динамични страници, създадени от WordPress заедно с темата, която използвате, и не могат да се редактират с помощта на PB Sandwich.

Един индикатор за това дали текущата уеб страница може да се редактира, е ако виждате „Редактиране на публикацията“ или „Редактиране на страницата“ в лентата за администриране.

Уверете се, че вашето съдържание не се генерира динамично от вашата тема или разширение

Ако вашата страница/публикация се генерира динамично от тема или разширение, тя няма да може да се редактира с Page Builder Sandwich (и най-вероятно с други конструктори на страници). Ако забележите, че редакторът на съдържание в административния панел е празен, но при преглед на страницата в публичната част тя е пълна със съдържание, това е добър индикатор, че страницата ви е генерирана динамично.

За да проверите дали страницата ви се генерира динамично, прегледайте изходния код на уеб страницата си (щракнете с десния бутон на мишката и изберете „Преглед на изходния код на страницата“). Потърсете текста „pbs-main-wrapper“ – ако не виждате този текст никъде, значи страницата ви е динамично генерирана.

Ето няколко примера за динамично генерирано съдържание:

  • Страницата ви се състои от множество уиджети, които добавяте/редактирате чрез Customizer,
  • Страницата ви е съставена от различни страници, сглобени от тема тип „една страница“ (в този случай все още можете да редактирате отделните страници, но не и обединената), или
  • Страницата ви се състои от най-новите публикации в блога.

Опитайте първо да добавите малко съдържание

Имало е случаи, в които темата изобщо не показва съдържанието, ако е празно, и това е накарало PBS погрешно да реши, че страницата не подлежи на редактиране. За да проверите дали случаят е такъв, редактирайте страницата/публикацията си в административния редактор, опитайте да добавите какъвто и да е текст в съдържанието (например „здравей“), след което щракнете върху бутона „Edit with Page Builder Sandwich“ оттам.

Благодарим на Mathias Hellquist за този съвет!

Уверете се, че страницата ви не се управлява от друг конструктор на страници

Някои конструктори на страници ви карат да изберете дали да използвате редактора на съдържание по подразбиране на WordPress, или собствения редактор на конструктора. Ако вече сте редактирали страницата си с помощта на друг конструктор на страници, възможно е този конструктор вече да е „присвоил“ съдържанието и другите куки/филтри за съдържание вече да не могат да се изпълняват. Поради това понякога Page Builder Sandwich няма да може да открие къде се намира вашето съдържание и няма да покаже бутона за редактиране, тъй като няма нищо за редактиране.

За да поправите това, просто изберете да не използвате този конструктор на страници за тази конкретна страница/публикация и предпочетете да използвате редактора на съдържание по подразбиране на WordPress.

Уверете се, че имате права за редактиране на страницата

Бутонът за редактиране няма да се появи, ако нямате права да редактирате страницата. Например, ако сте редактор или автор и можете да пишете публикации в блога и статии в сайта, това не означава непременно, че можете да редактирате началната страница или страницата за контакт с нас. Ако виждате бутона „Редактиране на публикацията“ на лентата за администриране, тогава би трябвало да можете да я редактирате и с PB Sandwich. Поискайте права за редактиране от администратора на сайта, ако имате нужда от тях.

Възможно е да има Javascript грешка, която спира работата на PB Sandwich

PB Sandwich използва интензивно Javascript. Ако има Javascript грешки, идващи от други скриптове във вашия сайт, това може да попречи на работата на PB Sandwich. За да проверите дали случаят е такъв, можете да отворите конзолата за разработчици във вашия браузър, за да проверите за грешки. 

Бих препоръчал да използвате Chrome за това. Щракнете с десния бутон на мишката върху произволно място на страницата, след което щракнете върху опцията „Проверка“ (Inspect). Това ще отвори нова секция в долната част на браузъра ви, щракнете върху раздела „конзола“ (console). Ако имате грешки, трябва да видите нещо подобно:

4acce143a3 file

Ако имате грешка, можете също да се ориентирате откъде идва тя, като щракнете или задържите курсора на мишката над името на скрипта:

abb5a87c67 file ITjVcdhZQU

Тези грешки могат да идват от вашата тема или от други разширения, които използвате. Отстраняването на тези грешки може да накара PB Sandwich да заработи отново.

Ако вашата тема или някое от разширенията ви причинява Javascript грешката, моля, уведомете ни по имейл на  [email protected] и ние ще направим всичко възможно, за да отстраним проблема 🙂

Ако използвате CloudFlare, уверете се, че Rocket Loader е изключен

CloudFlare е широко използвана безплатна DNS CDN услуга. Тя е страхотна, но PBS в момента има проблеми с функцията Rocket Loader. Rocket Loader подобрява времето за зареждане на Javascript файлове, но обърква зависимостите и реда на извикване на скриптовете на PBS. Ако сте включили Rocket Loader, бутонът за редактиране на Page Builder Sandwich няма да се появи (и няма да се покажат Javascript грешки в конзолата).

За да проверите дали сайтът ви използва Rocket Loader на CloudFlare, прегледайте изходния код на уеб страницата си (щракнете с десния бутон и изберете „Преглед на изходния код на страницата“), след което потърсете текста „rocketscript“. Ако намерите този текст, значи Rocket Loader е включен.

e4dff5b8c0 file tPnWvP09FF

Прочетете статията за  Съвместимост с CloudFlare & Rocket Loader за пълни инструкции как да го изключите.


Направих всичко това, а бутонът за редактиране все още липсва!

Добре, в този момент, ако никое от горните решения не помогне, може би е време да обясним защо той не се показва и какво да направите по въпроса. Готови ли сте? Да започваме!

Причината (на нетехнически език)

Page Builder Sandwich трябва да знае къде се намира съдържанието на вашата страница/публикация. Правим това, като следим кога WordPress зарежда съдържанието на публикацията и „маркираме“ тази област, така че когато всичко се зареди, да можем да намерим къде са важните неща.

Понякога някои разширения презаписват или заобикалят този процес и вместо това се опитват да заредят съдържанието по свой собствен начин. Понякога това не е проблем, но в определени сценарии, особено когато става въпрос за зареждане на съдържанието на основната публикация, това може да доведе до спиране на работата на някои разширения. Когато друго разширение заобиколи този процес на зареждане, „маркировките“, които сме направили, могат да се загубят и когато дойде време редакторът да се задейства, той вече не може да открие къде е вашето съдържание. Така бутонът за редактиране не се появява! Може също да откриете, че някои разширения, които добавят съдържание към вашата страница, като например някои разширения за споделяне в социалните мрежи, също спират да работят точно поради същата причина.

Причината (на технически език)

Page Builder Sandwich трябва да  знае къде се намира съдържанието на вашата страница/публикация и прави това, като се закача за филтъра the_content и добавя обвивка (wrapper) около основното ви съдържание. Някои разширения могат да отменят това и вместо това да презапишат съдържанието с функция get_the_content() по-нататък по веригата. За съжаление, това предотвратява извикването на ВСИЧКИ the_content филтри и следователно обвивката на PBS се губи. Всички промени от други разширения също биха се загубили.

Няма нищо лошо в използването на get_the_content() само по себе си, но може да има неблагоприятни ефекти, ако това се използва в основната заявка и вътре в шаблонната страница за единична публикация вместо нормално извикване на the_content(), при което се изпълняват всички the_content филтри.

Какво да направите по въпроса

Можете да проверите дали „маркировките“ на Page Builder Sandwich отсъстват, като посетите страницата/публикацията си в публичната част и прегледате изходния код на страницата, докато сте влезли в профила си. Потърсете в кода дали можете да намерите низа:

data-name="main-content"

Ако успеете да го намерите, тогава може просто да има някакъв Javascript проблем и просто ни уведомете за темата и разширенията, които използвате, и ние ще можем да го поправим.

Но ако не можете да го намерите, тогава причината може да е, че вашата тема (или разширение, но най-вероятно е темата, ако е страница или блог публикация) прави нещо със съдържанието на публикацията. Ако случаят е такъв, трябва да се свържете с автора на темата и да го уведомите за проблема! Можете също така да му покажете техническото обяснение по-горе, това може да помогне при отстраняването на грешките 🙂

Ако се чувствате уверени да правите промени в PHP, можете да опитате да го поправите, като намерите шаблонния файл, който обработва съдържанието на публикацията. Едно решение, което сме срещали, е замяната на извикванията на:

$content = get_the_content();

c:

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

Забележка: PHP променливата може да се различава при вас, но концепцията би трябвало да е същата. Ако това проработи, би било по-добре също така да създадете дъщерна тема (child theme), вместо да въвеждате тази промяна директно във вашата тема. Възможно е да има и странични ефекти поради промяната, така че е по-добре да се консултирате с автора на вашата тема относно това.