בבסיסה, לוורדפרס אלפי פונקציות ליבה וכלים שימושיים אשר בהחלט תורמים לכך שוורדפרס היא מערכת ניהול התוכן מספר אחת בעולם. רבים מהפיצ׳רים של וורדפרס מוכרים לנו דוגמת פוסטים מותאמים אישית (custom post types), הוקים, פעולות ופילטרים וכו׳, אך ישנם כאלו שאינם ידועים בציבור.
במדריך זה אסביר על אחד מהפיצ׳רים הפחות ידועים אך עם זאת מאד שימושיים וזה נקרא ״תוספים חייבים בשימוש״ או בלועזית "Must Use Plugins".
מהם MU-Plugins (תוספים חייבים בשימוש)?
זוהי אינה תעלומה שהפונקציונליות של Must Use Plugins אינה מוכרת להרבה מפתחי וורדפרס מכיוון ובמקורה נוצרה עבור WordPress MultiSites, וזוהי לא הוטמעה כחלק אינטגרלי מוורדפרס עד לגירסת וורדפרס 3.0.
באותו זמן, ספרייה הנקראית mu-plugins
הציעה את האפשרות למנהלי הרשת להפעיל תוסף מסויים לכל הבלוגים באותה רשת Multi Site. לאחר האינטגרציה עם וורדפרס 3.0, הספרייה mu-plugins
נשארה במקומה ושמה המלא הוא ״Must Use Plugins״ או בעברית – ״תוספים חייבים בשימוש״.
פיצ׳רים מרכזיים של MU-Plugins
ישנם יתרונות וחסרונות לתוספים חייבים בשימוש, בואו נרחיב עליהם:
הם תמיד מופעלים: במהותם, תוספים חייבים בשימוש הם תוספים אשר … חייבים בשימוש ונטענים אוטומטית באתר הוורדפרס שלכם (או ברשת האתרים). כמו כן, אלו אינם מופיעים ברשימת התוספים במערכת הניהול של וורדפרס.
לא ניתן לבטל אותם: גם אם אתם מנהלי האתר, אין לכם את האפשרות לכבות את אותם תוספים או למחוק אותם. עם זאת, האפשרות היחידה שלכם למחוק אותם היא על ידי מחיקתם מספריית mu-plugins
הנמצאית בתוך wp-content
. כמו כן, אין באפשרותכם להתקין תוספים חדשים בספרייה זו אלא רק על ידי העלאת אותם תוספים ידנית לאותה ספרייה.
הם נטענים לפני התוספים הרגילים: התוספים שבספריית mu-plugins
נטענים לפני התוספים הקיימים בספריית התוספים שלכם.
בצורה מפתיעה, נכון לרגע זה התוספים בספריית
mu-plugins
נטענים לפי סדר האלפאבית…
לא ניתן להשתמש בהוקים של activation/deactivation: מכיוון ו Must Use Plugins מופעלים אוטומטית ולא ניתן לכבות או להסיר אותם, לא ניתן להשתמש בהוקים של הפעלה וכיבוי בתוספים אלו.
הם לא מתעדכנים: התוספים בספריית mu-plugins
אינם מתעדכנים אוטומטית ווורדפרס אינה מודיעה לכם על עדכונים חדשים לאותם תוספים. אתם נדרשים לשמור עליהם מעודכנים בצורה ידנית.
אתם חייבים להשתמש בקבצי php: וורדפרס אינה מחפשת תוספים בתת ספריות של mu-plugins
, אתם נדרשים לשים את קבצי ה PHP בספרייה הראשית (root directory). עם זאת, אתם יכולים ליצור proxy php loader file ולבצע require לאותם קבצים.
רעיונות לשימוש Must use Plugins בוורדפרס
ישנן אפשרויות לשימוש ב mu-plugins
, בואו ניתן כמה דוגמאות בהם תרצו להשתמש באלו:
שימוש ב Must Use Plugins ב Multisite Networks
וורדפרס Multisite הם בעצם הסיבה שהספרייה mu-plugins
קיימת. למרות שהאפשרות של Network Activation קיימת, ניתן להשתמש ב Must Use Plugins אם אתם צריכים קצת יותר ״כח״. ישנם הבדלים בין תוספים המופעלים ברשת אתרים ובין תוספים חייבים בשימוש שלא ארחיב עליהם במאמר זה.
שימוש ב Must Use PLugins באתרי הלקוחות שלכם
אם אתם מאלו המספקים (או חייבים לספק) גישה של מנהל (administrator) ללקוחות שלכם, אז אתם לבטח יודעים כי לקוחות אלו יש הם בעלי נטייה לשחק עם האפשרויות, עם הגדרות התבנית, עם תוספים ועם כל מה שיש להם גישה אליו.
אם הם החליטו לכבות או להסיר תוסף כזה או אחר, יש מצב חזק שתאלצו לתת להם תמיכה בשישי בערב בטוענה שאינכם מתחזקים את האתר שלהם כראוי.
אך אם תעבירו את התוספים לספריית mu-plugins
ותצרו קובץ php בכדי לקרוא לאותם תוספים, ללקוחות שלכם לא תהיה האפשרות לכבות את אותם תוספים. אך זכרו – תאלצו לוודא כי אתם מבצעים עדכונים ידניים לאותם תוספים.
שימוש ב Must Use Plugins לתוספים ספציפיים לאתר שלכם
אם יש ברשותכם אתר הדורש פונקציונליות מסויימת הקריטית לפעילותו התקינה של האתר, הדבר הנכון לעשות הוא ליצור תוסף הייעודי לאותו אתר ומבצע את אותה פונקציונליות.
מכיוון ואתם לא יכולים לשאת את המחשבה של כיבוי אותו תוסף בטעות, נכון יהיה לשים אותו בספריית ה mu-plugins
, כך שאפילו אתם לא תוכלו לכבות אותו דרך ממשק הניהול. ומאחר ואתם המפתחים של התוסף, והוא אינו בשימוש בשום אתר וורדפרס אחר, לא תהיה לכם בעיה ברמת עדכונים של אותו תוסף.
לסיכום
במדריך קצר זה, ניסיתי להסביר על אחד הפיצ׳רים הנסתרים (והפחות מוערכים) של וורדפרס. אישית אני מאד הופתעתי כשגילית את ה mu-plugins
ומקווה שגם אתם.
אני בטוח שניתן להשתמש בפונקציונליות זו בעוד הרבה מצבים מעבר לאלו שכתבתי במדריך, אך אלו בלבד יכולים ליצור הבדל משמעותי באתר הוורדפרס שלכם.
אשמח לדעת מה אתם חושבים על ה Must Use Plugins בוורדפרס והאם אתם מכירים דרכים נוספות להשתמש בפיצ׳ר זה. אם אהבתם את המדריך, אל תשכחו לשתף אותו עם חבריכם ! 🙂
מאמר מעניין, תודה!
איך זה מתפקד עם דברים רחבי השפעה על האתר, כמו wpml למשל?
איני רואה כל סיבה שזה לא יעבוד עם wpml או עם כל תוסף אחר לצורך העניין..
הלכתי לרחרח קצת, כנראה שלא:
https://wpml.org/forums/topic/install-plwpml-on-mu-plugins-folder
ההסבר שלהם הוא שהם משתמשים בהוק אקטיבציה וברפרנס לספריית plugins הרגילה (מה שבוודאי אפשר לשנות, אבל זה נראה לי קצת כאב ראש בתוסף גדול כ״כ).
אבל
זאת תגובת צוות מסוף 2014, ככה שאולי התקדמו מאז.
מעניין 🙂 תודה על השיתוף !
נתקלתי בתוספים שדוחפים את עצמם לשם. בעיקר תוספי מטמון.
אם לא רואים אותם ואין להם עדכון אוטומטי, איך אפשר לדעת על קיומם?
הם מופיעים בעמוד התוספים תחת תוספי מערכת…
אני שם שם את ה cpt שאני מייצר לאתר, ומשתדל שלא להשתמש בתוסף שמייצר לי לבד אתה cpt, כך הלקוח לא בטוח מבטל את הפלאגין ואז כל הדברים באדמין נעלמים לו והוא בלחץ וחושב שהאתר נעלם לו
זה בהחלט אחד מהסיטואציות בהן ניתן להשתמש ב mu-plugins… 🙂