דף הבית » טריקים וטיפים, מומלצים

הוספת תפריטים ברשת אתרים

24 בפברואר 2011 | מאת רמי | אין תגובות | תגיות: , , , , , , , ,

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

לוח הבקרה של מנהל הרשת

לוח הבקרה של מנהל הרשת

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

תפריטים יעודיים למנהלי רשת

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

הוספת תפריט ללוח הבקרה

לצורך הוספת תפריט, על כותב התוסף להוסיף את הקוד הבא:

function custom_admin_menus() {
    add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );
    add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function );
}
add_action( 'admin_menu', 'custom_admin_menus' );

הוספת תפריט ללוח הבקרה של מנהל הרשת

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

function custom_network_admin_menus() {
    add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );
    add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function );
}
add_action( 'network_admin_menu', 'custom_network_admin_menus' );

אקשנים שונים

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

קצת רקע ומשמעות השינוי

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

  • הקמת "אתר בודד" (WordPress Site) – אתר בודד עם דומיין בודד.
  • הקמת "רשת אתרים" (WordPress Network) – רשת עם מספר אתרים שלכל אתר יש ספרייה נפרדת או סאב-דומיין משלו (או דומיין נפרד – דורש התקנת תוסף יעודי).
  • הקמת "מולטי רשת" (WordPress MutliNetwork) – מולטי-רשת עם אתרים שחלקם אתרים רגילים וחלקם רשתות אתרים (להפעלת מולטי-רשת יש להתקין תוסף יעודי).

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

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

שינוי זה אומנם לא נראה משמעותי, אך עבור מפתחי תוספים מדובר בצעד גדול שכן מעכשיו יהיה עליהם להגדיר עבור מי מפותח התוסף שלהם, ואילו הרשאות נדרשות על מנת לשנות את הגדרות התוסף. כדי להבהיר את הנקודה, התוסף Domain Mapping שמאפשר להגדיר דומיינים שונים עבור אתרים ברשת מיועד כולו עבור מנהל הרשת. מנגד, תוסף XML Sitemap מיועד אך ורק עבור מנהלי האתרים ברשת. תוספים שמיועדים גם מנהלי הרשת וגם למנהלי האתרים, הם תוספים כמו משתמשים משותפים או תגיות משותפות. מפתחים יכולים לפתח תוספים חינמיים לשימוש בעלי אתרים וגרסאות משודרגות בתשלום למי שמנהל רשת אתרים עם פונקציונליות מורחבת.

מאת רמי

אחראי על אתר וורדפרס בעברית ועל תרגום ושחרור גרסאות וורדפרס בעברית. מפתח ליבה, בכל גרסה החל מגרסה 2.8, מפתח מוביל בגרסה 4.4 ובגרסה 4.6. מספק שירותי פיתוח אתרים, פיתוח תוספי וורדפרס לסטרטאפים ופיתוח כלים למפתחי וורדפרס - GenerateWP.com.

הוסף תגובה !

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

תגיות HTML מורשות לשימוש:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>