יצירת איזורי וידג'טים חדשים בוורדפרס

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

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

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

יש לנו את פונקציות widgets_init שבה אנו מגדירים את האיזורים השונים של הוידג'טים. אם אתם מוסיפים איזור חדש לתמה קיימת, סביר להניח שהפונקציה הזו או פונקציה דומה לה תהיה ב-functions.php.

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




function widgets_init() {

register_sidebar( array(
		'name' => __( 'MY WIDGET AREA NAME', 'language' ),
		'id' => 'my-widget-area-machine-name',
		'description' => __( 'Desciption for the admin menu', 'language' ),
		'before_widget' => '<div class="my_widgets_area">',
                'after_widget' => '</div>',
                'before_title' => '<h2>',
                'after_title' => '</h2>',
	) );
}
add_action( 'init', 'widgets_init' );	


לאחר שסיימנו, אנו צריכים להחליט היכן בדיוק איזור הוידג'טים הזה יוצג באתר שלנו. נאתר חלק מסוים באתר (כל דף שהוא – sidebar.php, single.php וכל חלק שהוא שאנו רוצים לראות בו את איזור הוידג'טים). ונכניס לתוכו את הטקסט הבא:


    if (is_active_sidebar(''my-widget-area-machine-name') ) {
	    dynamic_sidebar(''my-widget-area-machine-name');
    } 

ו… זה הכל! אנו נוכל לראות בתפריט הוידג'טים שיש לנו איזור חדש שאליו ניתן להוסיף וידג'טים.

אם אתם לא רוצים ללכלך את התמה שלכם בקוד ספגטי, ניתן ליצור קובץ PHP בתיקית הטמפלייט שלכם בשם my_widget_area.php, להכניס לתוכה את הקריאה לאיזור הוידג'ט כפי שהיא מופיעה לעיל ואז לקרוא לה באמצעות include זה או אחר:


include(TEMPLATEPATH . '/my_widget_area.php'); 

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

פוסטים נוספים שכדאי לקרוא

פתרונות ומאמרים על פיתוח אינטרנט

נגישות טכנית – פודקאסט ומבוא

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

למפתחי ובוני אתרי אינטרנט

מדריך לשאילתות יעילות ל Chat GPT

כל אחד יכול לשאול את GPT, אבל אם תרצו לשאול אותו שאלות על תכנות – יש כמה שיטות וטיפים ליעל את העבודה מולו.

פתרונות ומאמרים על פיתוח אינטרנט

SSG עם next

אחרי שלמדנו במאמר הקודם מה זה SSR והבנו שלא מדובר בקליע כסף שפותר את כל הבעיות שלנו, נלמד על SSG שיכול להקל על כמה מהבעיות של SSR.

גלילה לראש העמוד