WordPress: Автоматски креирајте странични ленти за секоја категорија

Функција за регистрирање странични ленти за секоја категорија WordPress

Ја поедноставував оваа страница за да го подобрам времето на брзина и да се обидам да ја монетизирам страницата подобро без да ги иритирам читателите. Постојат повеќе начини на коишто ја монетизирав страницата… тука се од најмногу до најмалку профитабилни:

  • Директни спонзорства од партнерски компании. Ние работиме на колективни стратегии кои вклучуваат сè, од веб-работилници до споделување на социјални медиуми за промовирање на нивните настани, производи и / или услуги.
  • Филијалата маркетинг од низа придружни платформи. Ги пребарувам и ги идентификувам компаниите, се осигурувам дека се реномирани и споделувам специфични написи што ги пишувам или реклами што ги даваат.
  • Маркетинг со ресурси од партнер кој ослободува настани поврзани со маркетинг, студии на случај и бели трудови.
  • Рекламирање на банер од Google каде релевантните реклами автоматски се дисперзираат преку мојот образец и содржина.

Странични ленти на WordPress

Со придружен маркетинг кој обезбеди пристојни приходи, решив дека сакам да ги истакнувам многу специфичните огласувачи засновани на категоријата на страницата, па затоа сакав динамично да ги креирам страничните ленти без да морам да ги кодирам секоја странична лента на страницата. На овој начин, ако додадам категорија - страничната лента автоматски се појавува во мојата област на Виџет и можам да додадам реклама.

За да го направам ова, ми требаше одреден код во functions.php датотека на темата на моето дете. За среќа, открив дека некој веќе напишал скоро сè што ми требаше: Создадете широкопојасни странични ленти за секоја категорија во WordPress. Само сакав дополнителни контроли во кои категории можеби ќе посакам да ги прикажувам страничните ленти.

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' );

Со низа аргументи за враќање на категориите, можам да вклучам и да ги исклучам сите категории што сакам да ги насочам. Во рамките на изјавата за претходник, можам да го изменам и усогласам изгледот со форматирањето на страничната лента на моето целокупно место во 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);
    }
}

Странични ленти на WordPress за секоја категорија

Резултатот е токму она што го посакував:

Странични ленти за додатоци на WordPress за секоја категорија

Сега, без оглед дали додавам, уредувам или бришам категории areas областите на страничната лента секогаш ќе бидат ажурирани!

Што мислите?

Оваа страница користи Akismet за намалување на спам. Научете како се обработува вашиот коментар.