אז מה הבעיה?
הבעיה היא שהמערכת וורדפרס מגיעה עם מספר מצומצם של עמודות צדדיות / Sidebars ולא ניתן להוסיף עמודות דרך ממשק הניהול ללא עזרה חיצונית של רכיב / תבנית / מדריך זה! מצב זה מגביל אותנו בהתאמת עמודה צדדית / Sidebar לעמודים השונים באתר שלנו.
לדוגמה: נניח שיש לי עמוד תוכן A ואני רוצה להוסיף לו עמודה צדדית / Sidebar שבתוכה ווידג'טים שבחרתי קודם לכן, אז אני מוסיף לעמוד עמודה צדדית / Sidebar הנקראת Sidebar A. לאחר מכן אני פותח עמוד תוכן נוסף ואני מעוניין להוסיף עמודה צדדית / Sidebar שמכילה ווידג'טים אחרים מ Sidebar A יתכן שיש לי עוד עמודה צדדית / Sidebar "פנויי" אך יתכן שגם אצטרך להוסיף בגלל שאני עתיד לפתוח עוד עמודים הדורשים עמודה צדדית / Sidebar המותאמים אישית.
יצירת עמודה צדדית / Sidebar חדשה
ניגש לתבנית "ילד" / child theme שלנו ונערוך את הקובץ functions.php שם נוסיף את הקוד הבא:
function add_sidebars_init() {
register_sidebar( array(
'name' => __( 'Sidebar A', 'wpb' ),
'id' => 'sidebar-1',
'description' => __( 'The main sidebar appears on the right on each page except the front page template', 'wpb' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
register_sidebar( array(
'name' =>__( 'Sidebar B', 'wpb'),
'id' => 'sidebar-2',
'description' => __( 'Appears on the static front page template', 'wpb' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
}
add_action( 'widgets_init', 'add_sidebars_init' );
בקוד הנ"ל יש הוספה של 2 עמודות צדדיות / Sidebars, ניתן למעשה להוסיף כמה שנצטרך על ידי שיכפול קטע הקוד "register_sidebar".
החלק המודגש בצהוב הינו שם העמודה הצדדית / Sidebar וניתן לתת לכל עמודה שם לפי היעוד שלה.
החלק המודגש בתכלת הינו מזהה העמודה צדדית / Sidebar וחשוב מאוד לתת לו שם שונה מיתר העמודות צדדיות / Sidebars לכן הבדלתי אותם במספרים ללא רווחים!
לאחר הוספת הקוד תוכלו להכנס לממשק ניהול -> ווידג'טים ולראות שם את שתי העמודות החדשות שיצרתם ולהוסיף להם את הווידג'טים שמתאימים לכם.
הוספת העמודה הצדדית / Sidebar לתבנית במקום ספציפי - למתקדמים
למעוניינים להוסיף את העמודה צדדית / Sidebar במקום אחר ולא רק לצד עמודי התוכן / הפוסטים, ניתן לעשות זאת ע"י הוספת הקוד הבא לקובצי התבנית לדוגמה ב- Header או ב- Footer:
<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
<div id="secondary" class="widget-area" role="complementary">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</div>
<?php endif; ?>
החלק המודגש בתכלת הינו המזהה של העמודה צדדית / Sidebar שיצרנו קודם לכן ויש לשנותו בהתאם לעמודה הצדדית / Sidebar שנרצה להציג.