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

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

לא מזמן הייתי צריך ליצור תבנית בוורדפרס ורציתי להכניס לתוכה איזור וידג'טים חדש. למי שלא יודע, וידג'טים הם הדרך של וורדפרס לאפשר יצירה של 'קופסאות מידע' שונות. כמו למשל הצגת הקטגוריות שיש באתר וורדפרס, הצגת דפים פופולריים ביותר וכו' וכו'. כאשר יכולים להיות כמה איזורי וידג'טים: ב-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'); 

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

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

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

עבודה עם GPT למתכנתים

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

צילום מסך של סוואגר
יסודות בתכנות

openAPI

שימוש בתשתית הפופולרית למיפוי ותיעוד של API וגם הסבר בסיסי על מה זה API

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

המנעו מהעלאת source control לשרת פומבי

לא תאמינו כמה אתרים מעלים את ה-source control שלהם לשרת. ככה תמצאו אותם וגם הסבר למה זה רעיון רע.

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