הכפתור "ערוך באמצעות Page Builder Sandwich" אינו מופיע
אם אינך רואה את הכפתור "ערוך באמצעות Page Builder Sandwich" בחזית האתר שלך, הנה כמה דברים שתוכל לנסות:
וודא שסרגל הניהול שלך גלוי
כפתור העריכה של PB Sandwich זמין בסרגל הניהול בחזית האתר. וודא שסרגל הניהול גלוי על ידי כניסה ללוח הניהול שלך ומעבר אל משתמשים > הפרופיל שלך ובדוק שוב שהתיבה הצגת סרגל הכלים בעת צפייה באתר מסומנת.

וודא שאתה נמצא בעמוד, פוסט או סוג פוסט מותאם אישית (Custom Post Type)
רק פוסטים, עמודים וסוגי פוסטים מותאמים אישית ניתנים לעריכה בחזית האתר. תוכל לערוך דברים בחזית האתר רק אם אתה יכול לערוך אותם באמצעות עורך התוכן של וורדפרס בממשק הניהול. האזורים האחרים באתר שלך – למשל רשימת הפוסטים בדף הבית, רשימת כל הפוסטים בבלוג, רשימות קטגוריות, עמודי שגיאה 404, עמודי חיפוש – הם עמודים דינמיים שנוצרו על ידי וורדפרס לצד ערכת העיצוב שבה אתה משתמש, ואינם ניתנים לעריכה באמצעות PB Sandwich.
אינדיקטור אחד לכך שדף האינטרנט הנוכחי ניתן לעריכה הוא אם אתה רואה "ערוך פוסט" או "ערוך עמוד" בסרגל הניהול שלך.
וודא שהתוכן שלך אינו נוצר באופן דינמי על ידי ערכת הנושא או תוסף
אם העמוד/הפוסט שלך נוצר באופן דינמי על ידי ערכת נושא או תוסף, הוא לא יהיה ניתן לעריכה באמצעות Page Builder Sandwich (וסביר להניח שגם לא בבוני עמודים אחרים). אם אתה מבחין שעורך התוכן שלך בממשק הניהול ריק, אך בעת צפייה בעמוד בחזית האתר הוא מלא בתוכן, זוהי אינדיקציה טובה לכך שהעמוד שלך נוצר באופן דינמי.
כדי לבדוק אם העמוד שלך נוצר באופן דינמי, הצג את קוד המקור של דף האינטרנט שלך (לחץ לחיצה ימנית ובחר "הצג מקור דף"). חפש את הטקסט "pbs-main-wrapper", אם אינך מוצא את הטקסט הזה בשום מקום, העמוד שלך נוצר באופן דינמי.
הנה כמה דוגמאות לתוכן שנוצר באופן דינמי:
- העמוד שלך מורכב ממספר ווידג'טים שאתה מוסיף/עורך באמצעות ההתאמה האישית (Customizer),
- העמוד שלך מורכב מעמודים שונים המחוברים יחד על ידי ערכת נושא של "עמוד אחד" (במקרה זה עדיין תוכל לערוך את העמודים הבודדים, אך לא את העמוד המשולב), או
- העמוד שלך מורכב מהפוסטים האחרונים בבלוג.
נסה להוסיף תוכן כלשהו תחילה
היו מקרים שבהם ערכת הנושא כלל לא הציגה את התוכן אם הוא ריק, וזה גרם ל-PBS לחשוב בטעות שהעמוד אינו ניתן לעריכה. כדי לבדוק אם זה המקרה, ערוך את העמוד/הפוסט שלך בעורך בממשק הניהול, נסה להוסיף טקסט כלשהו בתוכן שלך (למשל "שלום"), ולאחר מכן לחץ על הכפתור "ערוך באמצעות Page Builder Sandwich" משם.
תודה למתיאס הלקיסט (Mathias Hellquist) על הטיפ הזה!
וודא שהעמוד שלך אינו "בבעלות" בונה עמודים אחר
חלק מבוני העמודים דורשים ממך לבחור אם להשתמש בעורך התוכן המוגדר כברירת מחדל של וורדפרס, או בעורך של בונה העמודים עצמו. אם כבר ערכת את העמוד שלך באמצעות בונה עמודים אחר, ייתכן שבונה העמודים כבר "ניכס" את התוכן, והוקים/מסננים (hooks/filters) אחרים של תוכן כבר לא יכולים לפעול. בשל כך, לפעמים Page Builder Sandwich לא יוכל לזהות היכן נמצא התוכן שלך והוא לא יציג את כפתור העריכה מכיוון שאין מה לערוך.
כדי לתקן זאת, פשוט בחר שלא להשתמש באותו בונה עמודים עבור אותו עמוד/פוסט ספציפי, ובחר להשתמש בעורך התוכן המוגדר כברירת מחדל של וורדפרס.
וודא שיש לך הרשאות עריכה בעמוד
כפתור העריכה לא יופיע אם אינך יכול לערוך את העמוד. לדוגמה, אם אתה עורך או כותב ותוכל לכתוב פוסטים ומאמרים בבלוג באתר, אין זה אומר בהכרח שתוכל לערוך את דף הבית או את דף יצירת הקשר שלך. אם אתה יכול לראות את הכפתור "ערוך פוסט" בסרגל הניהול שלך, אתה אמור להיות מסוגל לערוך אותו גם באמצעות PB Sandwich. בקש ממנהל האתר שלך הרשאות עריכה במידת הצורך.
ייתכן שיש שגיאת Javascript שמונעת מ-PB Sandwich לפעול
PB Sandwich עושה שימוש נרחב ב-Javascript. אם יש שגיאות Javascript שמגיעות מסקריפטים אחרים שיש לך באתר שלך, הדבר עשוי למנוע מ-PB Sandwich לפעול. כדי לבדוק אם זה המקרה, תוכל לפתוח את מסוף המפתחים (developer console) בדפדפן שלך כדי לחפש שגיאות.
הייתי ממליץ להשתמש ב-Chrome עבור שלב זה. לחץ לחיצה ימנית על כל דבר בעמוד, ולאחר מכן לחץ על האפשרות "בדוק" (Inspect). פעולה זו תפתח אזור חדש בתחתית הדפדפן שלך, לחץ על הכרטיסייה "console". אם יש לך שגיאות, אתה אמור לראות משהו כזה:

אם אכן יש לך שגיאה, תוכל גם לקבל רמז מהיכן היא מגיעה על ידי לחיצה או ריחוף של העכבר מעל שם הסקריפט:

שגיאות אלו עשויות להגיע מערכת הנושא שלך או מתוספים אחרים שיש לך. תיקון שגיאות אלו עשוי לגרום ל-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 מופעל אצלך.

קרא את המאמר בנושא תאימות של CloudFlare ו-Rocket Loader להנחיות מלאות כיצד לכבות אותו.
עשיתי את כל אלה וכפתור העריכה עדיין לא מופיע!
בסדר, בשלב זה, אם אף אחד מהפתרונות שלעיל אינו עובד, ייתכן שהגיע הזמן להסביר מדוע הוא אינו מופיע ומה לעשות בנידון. מוכנים? בואו נתחיל!
ה"למה" (במונחים לא טכניים)
Page Builder Sandwich צריך לדעת היכן ממוקם התוכן של העמוד/הפוסט שלך. אנו עושים זאת על ידי האזנה למועד שבו וורדפרס טוענת את תוכן הפוסט ו"סימון" אותו אזור, כך שכאשר הכל נטען נוכל למצוא היכן נמצא התוכן הטוב.
לפעמים, תוספים מסוימים עוקפים את התהליך הזה או מבטלים אותו ובמקום זאת מנסים לטעון את התוכן בדרך שלהם. לפעמים זה בסדר, אך בתרחישים מסוימים, במיוחד כאשר מדובר בטעינת תוכן הפוסט הראשי, הדבר עשוי לגרום לתוספים מסוימים להפסיק לעבוד. כאשר תוסף אחר עוקף את תהליך הטעינה הזה, ה"סימונים" שביצענו עלולים ללכת לאיבוד, וכאשר מגיע הזמן שהעורך יתחיל לפעול, הוא אינו יכול למצוא עוד היכן נמצא התוכן שלך. לכן, כפתור העריכה אינו מופיע! ייתכן גם שתגלה שתוספים מסוימים שמוסיפים תוכן לעמוד שלך, כמו תוספי שיתוף חברתי מסוימים, עשויים להפסיק לפעול גם כן מאותה סיבה בדיוק.
ה"למה" (במונחים טכניים)
Page Builder Sandwich צריך לדעת היכן ממוקם התוכן של העמוד/הפוסט שלך, והוא עושה זאת על ידי התחברות (hooking) למסנן the_content והוספת מעטפת (wrapper) סביב התוכן הראשי שלך. תוספים מסוימים עשויים לעקוף זאת ובמקום זאת לדרוס את התוכן באמצעות פונקציית get_the_content() בהמשך הדרך. למרבה הצער, פעולה זו מונעת מכל מסנני the_content להיקרא ומכאן שהמעטפת של PBS הולכת לאיבוד. גם שינויים של כל תוסף אחר יאבדו.
אין שום דבר רע בשימוש ב-get_the_content() כשלעצמו, אך עלולות להיות השפעות שליליות אם נעשה בו שימוש בשאילתה הראשית ובתוך עמוד תבנית פוסט יחיד (single post template) במקום קריאה רגילה ל-the_content() שבה כל מסנני the_content מופעלים.
מה לעשות בנידון
תוכל לבדוק אם ה"סימונים" של Page Builder Sandwich אינם קיימים על ידי ביקור בעמוד/פוסט שלך בחזית האתר וצפייה בקוד המקור של העמוד בעודך מחובר לחשבונך. חפש בין שורות הקוד אם אתה יכול למצוא את המחרוזת:
data-name="main-content"
אם אתה מוצא אותה, ייתכן שישנה רק בעיית Javascript איפשהו ופשוט תודיע לנו באיזו ערכת נושא ותוספים אתה משתמש ונוכל לתקן זאת.
אבל אם אינך מוצא אותה, ייתכן שערכת הנושא שלך (או תוסף, אך סביר להניח שזו ערכת הנושא אם מדובר בעמוד או פוסט בבלוג) עושה משהו עם תוכן הפוסט. אם זה המקרה, עליך לפנות למפתח ערכת הנושא וליידע אותו על הבעיה! תוכל גם להראות לו את ההסבר הטכני של ה"למה" שלמעלה, זה יכול לעזור באיתור התקלה (debugging) 🙂
אם אתה מרגיש בטוח בהתעסקות עם PHP, תוכל לנסות לתקן זאת על ידי מציאת קובץ התבנית שמטפל בתוכן הפוסט. פתרון אחד שנתקלנו בו הוא על ידי החלפת קריאות עבור:
$content = get_the_content();
ב:
ob_start();
the_content();
$content = ob_get_clean();<br>
הערה: משתנה ה-PHP עשוי להיות שונה אצלך, אך הרעיון אמור להיות זהה. אם זה עובד, עדיף גם שתיצור תבנית בת (child theme) במקום להטמיע את השינוי הזה ישירות בערכת הנושא שלך. ייתכנו גם תופעות לוואי בגלל השינוי, לכן עדיף שתתייעץ עם מפתח ערכת הנושא שלך בנושא זה.