הוספת תמיכת ווידג’טים לתבניות
מאת חנית כהן | נשלח 29.03.2007 | נושאים וורדפרס, מדריכים, תבניות
לאחרונה הבנתי שלמעשה הרבה אנשים מוותרים או על תבנית שהם אוהבים, או על העבודה עם ווידג’טים פשוט כי התבנית לא תומכת בהם. שדרוג התבנית כך שתתמוך בווידג’טים כנראה לא ברור ולא טריויאלי לאנשים והם פשוט מוותרים.
עקב כך החלטתי לכתוב מדריך צעד אחר צעד להוספת תמיכת ווידג’טים לתבניות וורדפרס.
יש לא מעט תבניות וורדפרס שאינן תומכות בווידג’טים, אכן ניתן להשתמש בן כמו שהן, מאידך ניתן גם פשוט לתקן אותן כך שיתמכו בהם.
המתרגמים שבינינו משתדלים גם הם לבחור רק תבניות עם תמיכה בווידג’טים, במקום פשוט להוסיף את התמיכה תוך כדי התרגום.
אני מקוה שבעקבות מדריך זה המצב ישתנה.
עד כה נתקלתי רק בתבנית אחת שלא הצלחתי להמיר לתמיכה בווידג’טים, כך שהמלאכה לא כל כך קשה.
על מנת לגרום לתבניות וורדפרס לתמוך בווידג’טים תצטרכו ידע ב: HTML, CSS, PHP.
מדריך ההמרה נמצא למעשה באתר של חברת Automattic ההורים של וורדפרס, אני למעשה אתן כאן הסבר משולב דוגמה עבור תבנית ספציפית.
את הוספת התמיכה בווידג’טים בשלבים נבצע על התבנית benevolence שתרגמה שרון.
בחרתי בתבנית זו משתי סיבות, הראשונה כי ביקשו ממני עזרה בהסבה שלה לתמוך בווידג’טים, השניה כי היא דווקא לא מבוססת על המבנה הפשוט והקלאסי של רשימה לא ממויינת.
ראשית נפתח את הסרגל הצדדי ונראה כי הוא בנוי מ-div ראשי בשם sidebar שבתוכו עוד div-ים שונים עבור החלקים השונים שבסרגל.
כלומר, על מנת שהתבנית תתמוך בווידג’טים, אנחנו צריכים להגיע לאחד משני מצבים:
- שהסרגל הצדדי יהיה בנוי מרשימה לא ממוינת
- שהווידג’טים שלנו יצרו div-ים כמו שבסרגל כפי שהוא כרגע
אופציה מספר 1 כוללת יותר עבודה והיא פחות טריוויאלית, אופציה מספר 2 כוללת בעיה - ווידג’ט הקישורים לא מתנהג לפי הכללים ומיוצר תמיד כרשימה. אנחנו עדיין נבחר באפשרות השניה ונראה איך מתמודדים עם הבעיה שטמונה בה.
ראשית נשנה את הקובץ sidebar.php כך שאחרי ה-div הראשי של הסרגל נוסיף את הקוד ל:< ?php if ( !function_exists('dynamic_sidebar')
|| !dynamic_sidebar() ) : ?>
וכן נוסיף שורת סגירה לתנאי בסוף הקובץ לפני סגירת ה-div:< ?php endif; ?>
הקוד הזה למעשה אומר לתבנית להפעיל את הווידג’טים אם התוסף קיים ואם נעשה בו שימוש, אחרת תוצג ברירת המחדל.
השלב הבא הוא יצירת קובץ functions.php זה הקובץ שאומר לוורדפרס איך לייצר ווידג’טים חדשים.
נחזור להסתכל על sidebar.php ונשים לב לפרטים הבאים: מה מופיע לפני ואחרי ווידג’ט, מה מופיע לפני ואחרי הכותרת של הווידג’ט.
במקרה שלנו, אחרי הווידג’ט מופיעה ירידת שורה <br /> לפניו לא מופיע כלום והכותרת מוקפת ב<div class="title"></div>
נייצר קובץ חדש בשם functions.php שיכיל את הקוד הראשוני הבא:
< ?php
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
?>
עכשיו נוסיף את המידע שאספנו לתוך הקובץ ונקבל את התוצאה:
< ?php
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '<br />',
'after_widget' => '',
'before_title' => '<div class="title">',
'after_title' => '</div>',
));
?>
שימו לב שכל מה שעשיתי הוא למלא את השדות במידע שאספנו קודם.
עכשיו בעיקר נותר לבדוק ולהתאים את ה-css אם צריך.
לכו לתפריט עיצוב בבלוג ובדקו שהתבנית אכן רשומה עכשיו כתבנית בעלת ווידג’טים, כלומר שתת התפריט “ווידג’טים לבר הצדדי” מופיע.
הכנסו לתפריט הכניסו ווידג’טים לכו לבדוק אם התבנית עובדת.
אם עשיתם הכל קשורה, הווידג’ט היחיד שעשוי לעשות בעיות הוא ווידג’ט הקישורים.
ווידג’ט הקישורים בניגוד לשאר הווידג’טים אינו יודע לקבל מתוסף הווידג’טים והתבנית הגדרות עיצוב, ותמיד מייצר קוד בצורה הבאה:
<li id="linkcat-1">
<h2>
קישורים
</h2>
<ul>
<li>
<a href="http://www.dontsmile.info/">
תום
</a>
</li></ul></li>
במקרה שלפנינו הבדלי העיצוב כמעט ואינם נראים ולכן לא טרחתי לשנותם, אבל יש מקרים שבהם ההבדלים הם משמעותיים, במקרים שכאלו נצטרך לערוך את קובץ ה-CSS ולשנות שם את העיצוב של ווידג’ט הקישורים.
זהו, סיימנו.
נהניתם מהפוסט ? כדאי להרשם לעדכוני RSS ולקבל הכל ישירות.
שמי חנית כהן, אני בת 32 ואשת מחשבים משנת 93.


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