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

להציג סרגלי צד רק אם הם קיימים

20 במרץ 2012 | מאת רמי | 2 תגובות | תגיות: , , ,

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

מה בדיוק הבעיה

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

אז פה איפה הבעיה? הבעיה היא ביוצרי התבניות.

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

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

אופן ביצוע

השינויים הבאים יבוצעו בקובץ sidebar.php שלנו:

<?php if( is_active_sidebar( 'sidebar-name-or-id' ) ) { ?>
  <ul class="widgets-area">
    <?php dynamic_sidebar( 'sidebar-name-or-id' ); ?>
  </ul>
<?php } ?>

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

הסבר

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

זוהי הפרקטיקה הנכונה להצגת סרגלי צד. היא מיושמת בתבניות TwentyTen, TwentyEleven וב- TwentyTwelve. אם אתם יוצרים תבניות משלכם, מומלץ לאמץ שיטה זו.

מאת רמי

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

2 תגובות »

  • עופר כותב :

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

  • רמי כותב :

    כן, זה אפשרי,
    צור תבנית עמוד חדשה עם הקוד הבא:

    <?php
    /*
    Template Name: Empty Page
    */

    ?>

    <?php get_header(); ?>

    <?php the_content(); ?>

    <?php get_footer(); ?>

הוסף תגובה !

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

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