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 виджетінің бүйірлік тақталары

Енді санаттарды қосқаныма, өңдегеніме немесе өшіргеніме қарамастан ... менің бүйірлік тақталарым әрқашан жаңарып отырады!

Сен не ойлайсың?

Бұл сайт спамның төмендеуі үшін Akismet пайдаланады. Деректеріңіздің қалай өңделетінін біліңіз.