וורדפרס: צור סרגל צדדי באופן אוטומטי לכל קטגוריה

פונקציה לרישום סרגל צדדי לכל קטגוריית וורדפרס

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

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

סרגל צדדי של וורדפרס

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

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

function add_category_sidebars() {
    $args = array(
        'type'                     => 'post',
        'orderby'                  => 'name',
        'order'                    => 'ASC',
        'hide_empty'               => 1,
        'hierarchical'             => 1,
        'exclude'                  => '',
        'include'                  => '',
        'number'                   => '',
        'taxonomy'                 => 'category'
        ); 
    
    $categories = get_categories($args);

    foreach ($categories as $category) {
        if (0 == $category->parent)
            register_sidebar( array(
                'name' => $category->cat_name,
                'id' => $category->category_nicename . '-sidebar',
                'description' => 'This is the ' . $category->cat_name . ' widgetized area',
                '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_category_sidebars' );

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

בנוסף, שלי functions.php, אני רוצה להוסיף פונקציה כדי לראות אם קיימת סרגל צד ויש להוסיף לו יישומון:

function is_sidebar_active($cat_name) {
    global $wp_registered_sidebars;
    $cat_id = get_cat_ID($cat_name);
    $widgetlist = wp_get_sidebars_widgets();
    if ($widgetlist[$cat_id])
        return true;
    return false;
}

ואז, בתוך הנושאים שלי צדדי קובץ תבנית, אני מוסיף קוד להצגה דינמית של האזור אם סרגל הצד רשום ויש בו יישומון.

$queried_object = get_queried_object();
if ($queried_object) {
    $post_id = $queried_object->ID;
}
if(is_category() || in_category($cat_name, $post_id)) {
    $sidebar_id = sanitize_title($cat_name);
    if( is_sidebar_active($sidebar_id)) {
        dynamic_sidebar($sidebar_id);
    }
}

סרגל צדדי של וורדפרס לכל קטגוריה

התוצאה היא בדיוק מה שרציתי:

סרגל צדדי של יישומון וורדפרס לכל קטגוריה

עכשיו, לא משנה אם אני מוסיף, עורך או מוחק קטגוריות ... אזורי סרגל הצד שלי תמיד יהיו מעודכנים!

מה אתה חושב?

אתר זה משתמש Akismet כדי להפחית דואר זבל. למד כיצד הנתונים שלך מעובדים.