חיפוש ]

מספר דרכים לבטל את גוטנברג באתרי וורדפרס

גוטנברג (Gutenberg) הולך להתווסף בקרוב לליבה של וורדפרס. אלו חדשות טובות עבור מספר מסויים של אנשים וחדשות פחות טובות עבור אחרים. ניתן להעריך כי בשלב הנוכחי הרוב המוחלט של האתרים אינו בנוי לעבוד כראוי עם גוטנברג ומכאן שברגע וייכנס לתמונה באופן רשמי הוא ישפיע על מיליוני אתרים בעולם.

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

האם גוטנברג ישבור את האתר שלי?

האם התקנה של גוטנברג או עדכון לוורדפרס בגירסה 5.0 תשבור את האתר שלכם? התשובה לכך אינה חד משמעית. באופן כללי, לא אמורות להיות בעיות רציניות בעקבות התקנת התוסף / מעבר לוורדפרס 5.0.

עם זאת, במידה והאתר שלכם מסתמך על Custom Meta Boxes ותעדכנו לגירסה 5.0, סביר להניח כי חווית העריכה של עמודים ופוסטים תשבר. ישנה גם האפשרות שתוספים מסויימים בהם אתם משתמשים יחוו בעיות עם גוטנברג. גם במקרה זה, ההשפעה תהיה במיוחד על אותם תוספים המשתמשים ב Custom Meta Boxes וזאת אם מפתחי התוספים לא עדכנו אלו בהתאמה לעורך החדש.

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

האפשרויות שלכם כבעלי אתר וורדפרס

אם אתם מזדהים עם הסיטואציה יש ברשותכם שתי אפשרויות:

  • למצוא את הזמן והתקציב בכדי לבצע בדיקות ולעדכן את כל האתרים והתוכן שלכם עבור גוטנברג.
  • לבטל את גוטנברג / לא לבצע עדכון עד הרגע שתהיו מוכנים לשינוי זה.

אני יכול לומר כי מהשיח ברשת, מסתמן כי רק מעטים מוכנים ״להקריב״ או להשקיע את המשאבים הדרושים להטמעה ותמיכה של גוטנברג באתר שלהם. לעומתם, רוב בעלי האתרים די מבולבלים או פשוט אינם מודעים לשינויים המחכים להם ולאתרי הוורדפרס שברשותם. שלא תטעו, אני מדבר גם על מפתחי וורדפרס ולאו דווקא על בעלי האתרים.

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

איך לבטל את גוטנברג באמצעות תוסף

ישנם שני תוספים מרכזיים בהם אתם יכולים להשתמש על מנת לבטל את גוטנברג בוורדפרס 5.0+:

1. באמצעות התוסף Classic Editor

התוסף Classic Editor משחזר את העורך ואת מסך העריכה של וורדפרס לזה שהיה לפני וורדפרס 5.0. כברירת מחדל התוסף יסיר את כל העקבות של ״עורך הבלוקים״ החדש של גוטנברג, כמו גם את הווידג׳ט בלוח הבקרה המבקש ממנהל האתר לנסות עורך חדש זה.

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

ביטול גוטנברג באמצעות התוסף Classic Editor

שימוש בתוסף Classic Editor בכדי לבטל את העורך החדש בגוטנברג

 

2. באמצעות התוסף Disable Gutenberg

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

  • להסיר את גוטנברג באופן מלא (עבור כל סוגי התוכן).
  • לבטל את גוטנברג עבור סוגי תוכן ספציפיים (Specific CPT's).
  • לבטל את גוטנברג לפי הרשאות משתמש (User Roles).
  • לבטל את גוטנברג לפי מזהה העמוד / הפוסט (ID).
  • לבטל את גוטנברג לפי תבנית עמוד (Page Template).

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

כך או כך, יש לכם גמישות ופשטות. תנו מבט בדוקומנטציה של התוסף לפרטים נוספים.

הגדרות התוסף Disable Gutenberg

חלק מהגדרות התוסף Disable Gutenberg

איך לבטל את גוטנברג באמצעות קוד

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

1. ביטול מלא של גוטנברג

על מנת לבטל את גוטנברג לגמרי, הוסיפו את הקוד הבא לקובץ functions.php, לתוסף שכתבתם, או אף ל MU-Plugin:

// disable for posts
add_filter('use_block_editor_for_post', '__return_false', 10);

// disable for post types
add_filter('use_block_editor_for_post_type', '__return_false', 10);

זוהי הדרך המומלצת לביטול גוטנברג לגמרי. השורה הראשונה מבטלת זאת עבור הפוסטים הסטנדרטיים, והשנייה עבור סוגי תוכן אחרים (Custom Post Types).

2. ביטול גוטנברג עבור סוגי תוכן מסויימים

גוטנברג פעיל רק עבור פוסטים ועמודים כברירת מחדל. אך במידה וגוטנברג פעיל עבור סוגי תוכן אחרים (Custom Post Types) תוכלו לבטלו באמצעות אותו פילטר בו השתמשנו לפני כן. לדוגמה:

function sv_disable_gutenberg($is_enabled, $post_type) {

	if ($post_type === 'movie') return false; // change book to your post type

	return $is_enabled;

}
add_filter('gutenberg_can_edit_post_type', 'sv_disable_gutenberg');

במקרה זה אנו מבטלים את העורך של גוטנברג עבור סוג תוכן מסוג movie. הוק זה (קראו עוד על הוקים בוורדפרס) ישפיע אך ורק על סוג התוכן המדובר, בכדי לבטל את העורך המדובר עבור סוגי תוכן אחרים פשוט החליפו את movie בשם סוג התוכן לו תרצו לבטל את גוטנברג.

ביטול גוטנברג בזמן רישום סוג התוכן

ניתן לבטל את גוטנברג גם בזמן היצירה של סוגי התוכן המותאמים. דרך זו הגיונית ורלוונטית רק עבור סוגי תוכן בהם לא עושים כלל שימוש בעורך התוכן (בין אם גוטנברג או העורך הקלאסי) וזאת מכיוון והיא מבטלת ומסתירה את עורך התוכן לגמרי.

בכדי לעשות זאת פשוט הורידו את editor מהפרמטר supports כאשר אתם רושמים את סוג התוכן. הנה דוגמה:

$args = array(
	'label'    => __('Movies'),
	'labels'   => $labels,
	'supports' => array(
		'author',
		'custom-fields',
		// 'editor', // <-- do not add this param
		'title',
		'thumbnail'
	),
	'has_archive' => false,
	'hierarchical' => false
);
register_post_type('movie', $args);

מכיוון והורדנו את הפרמטר editor, סוג התוכן הנקרא movie לא יכיל דבר הקשור לגוטנברג ולמעשה לא יכיל עורך תוכן כלל.

ביטול גוטנברג בזמן רישום סוג התוכן (באמצעות REST API)

דרך נוספת לבטל את גוטנברג בזמן רישום סוג התוכן היא לבטל את אפשרות ה REST API עבור סוג תוכן זה. זאת ניתן לעשות על ידי קביעת false בפרמטר show_in_rest, לדוגמה:

$args = array(
	'label'        => __('Movies'),
	'labels'       => $labels,
	'show_in_rest' => false, // set to false to disable Gutenberg
	'supports'     => array(
		'author',
		'custom-fields',
		'editor', // works even when editor is supported
		'title',
		'thumbnail'
	),
	'has_archive' => false,
	'hierarchical' => false
);
register_post_type('movie', $args);

כך שלמרות וסוג התוכן תומך ב post editor, עדיין ניתן לבטל את גוטנברג באמצעות ביטול REST API, וזאת מכיוון וגוטנברג דורש API זה על מנת לעבוד.

3. ביטול גוטנברג עבור Meta Boxes

תוספים רבים עושים שימוש ב Meta Boxes למינהם. אם אתם כותבים תוסף ומעוניינים כי אותם Meta Boxes יתנהגו בצורה שאנו רגילים אליה, כלומר ללא Meta Boxes, אתם יכולים להעביר את הארגומנט __block_editor_compatible_meta_box לפונקציה  add_meta_box כבדוגמה הבאה:

add_meta_box('metabox_id', 'Metabox Title', 'metabox_callback', null, 'advanced', 'default', array('__block_editor_compatible_meta_box' => false));

שימו לב לפרמטר השביעי $callback_args – אנו מעבירים את הארגומנט __block_editor_compatible_meta_box במערך. עוד אינפורמציה על הוספת Meta Boxes ב WordPress Codex.

לסיכום

ראינו מספר דרכים לבטל את גוטנברג בוורדפרס. יש לציין כי גוטנברג נמצא בשלבי התהוות ומשתנה כל הזמן. עליכם לוודא כי השיטות שהצגתי עובדות עם הגירסה האחרונה של גוטנברג לפני שאתם משתמשים בהן באתר חי.

שיהיה בהצלחה! 🙂

Thanks to Jeff Star. @perishable

  • אוהד 16 אוקטובר 2018, 14:02

    היי רועי,

    האם ביטול של גוטנברג שונה מלא לבצע עדכון ל Wordpress לגרסה 5? הידע הבסיסי שלי אומר שאם אני לא מעדכן את Wordpress אני חשוף להתקפה ופריצות ולכן השאלה היא האם אפשר לעדכן את גרסת Wordpress אבל לא לעדכן/להתקין את גוטנברג ?

    ואם אני מתקין ומיד מנטרל/מבטל האם אני אוכל להמשיך לעדכן את Wordpress בעתיד מבלי להיות שוב חשוף.

    תודה!

    • רועי יוסף 18 אוקטובר 2018, 19:42

      היי אוהד,

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

      אני מאמין שבעתיד הרחוק, ובטח בקרוב תהיה האופציה בצורה כזו או אחרת לעדכן את וורדפרס ולא לדאוג לגבי גוטנברג במידה והסרת / נטרלת אותו בעבר.

      כך או כך, אני מציע לך לבדוק קודם מה ההשפעה של העדכון על האתר שלך לפני שאתה מנטרל את גוטנברג.

      בהצלחה!

  • אורית ש 7 דצמבר 2018, 15:54

    היי רועי,

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

    תודה

    • רועי יוסף 7 דצמבר 2018, 18:00

      היי אורית,

      אני לא בטוח שאני מבין למה את מתכוונת, אך אופציה לסינון זוהי לא פונקציונליות של של וורדפרס כברירת מחדל וגוטנברג לא מאפשר פונקציונליות זו…

  • דסי 5 ינואר 2019, 23:21

    גוטנברג שיבש לי את האתר לגמרי! כרגע אני צריכה לשדרג מס' אתרים שנבנו ע"י בילדר ישן (של פוג'ו) וגוטנברג מחק הכל…
    האם יש דרך לבטל את גוטנברג לפני השדרוג?

  • eran 10 פברואר 2019, 16:26

    תודה רבה!!! עזרת מאוד רועי!

  • רוב 18 פברואר 2019, 11:29

    הקוד של

    add_filter('gutenberg_can_edit_post_type', '__return_false');

    לא עובד, שמתי בתבנית בת של אושן ופתחתי עמוד חדש ועדיין יש את העורך של גוטנברג

    • רועי יוסף 18 פברואר 2019, 11:31

      נסה רגע את הקוד הבא ותאמר לי:

      add_filter('use_block_editor_for_post', '__return_false');
      • רוב 18 פברואר 2019, 12:01

        עובד, תודה. עדיף להשתמש בתוסף Classic Editor? זה לא עבד כי הם עשו שינוי בקוד?

  • איילת אסטרייכר, דרך הטוב 7 ינואר 2020, 13:46

    תודה רבה! הצלת אותי אחרי שלא הצלחתי להסתדר עם הבלוקים האלה כי סרגל העריכה שלהם פשוט נעלם! ממש תודה !

תגובה חדשה

הוסיפו קוד באמצעות הכפתורים מטה. למשל, בכדי להוסיף PHP לחצו על הכפתור PHP והוסיפו את הקוד בתוך השורטקוד. מצאתם שגיאה בפוסט? עדכנו אותנו...

Savvy WordPress Development