WordPress: Automātiski izveidojiet sānjoslas katrai kategorijai

Funkcija sānjoslu reģistrēšanai katrai WordPress kategorijai

Es vienkāršoju šo vietni, lai uzlabotu ātruma laikus un mēģinātu labāk nopelnīt vietni, nekaitinot lasītājus. Ir vairāki veidi, kā es esmu guvis peļņu no vietnes ... šeit tie ir no vismazāk ienesīgajiem:

  • Tieša sponsorēšana no partneruzņēmumiem. Mēs strādājam pie kolektīvām stratēģijām, kas ietver visu, sākot no tīmekļa semināriem līdz sociālo mediju akcijām, lai reklamētu viņu pasākumus, produktus un / vai pakalpojumus.
  • Filiāļu mārketings no saistīto platformu masīva. Es izpētīju un identificēju uzņēmumus, pārliecinos, ka tie ir cienījami, un kopīgoju konkrētus rakstus, kurus rakstu, vai viņu sniegtos sludinājumus.
  • Resursu mārketings no partnera, kurš atbrīvo ar mārketingu saistīti notikumi, gadījumu izpēte un baltās grāmatas.
  • Baneru reklāma no Google, kur atbilstošās reklāmas tiek automātiski izkliedētas, izmantojot manu veidni un saturu.

WordPress sānjoslas

Tā kā saistītais mārketings sniedz dažus pienācīgus ienākumus, es nolēmu, ka vēlos pievērst uzmanību ļoti specifiskiem reklāmdevējiem, pamatojoties uz vietnes kategoriju, tāpēc es gribēju dinamiski izveidot sānjoslas, bez nepieciešamības katru kodu sānjoslā kodēt. Tādā veidā, ja pievienoju kategoriju - sānjosla automātiski parādās manā logrīka zonā, un es varu pievienot reklāmu.

Lai to izdarītu, man bija nepieciešams zināms kods functions.php mana bērna tēmas fails. Par laimi, es atklāju, ka kāds jau ir uzrakstījis gandrīz visu nepieciešamo: Izveidojiet logrīku sānjoslas katrai WordPress kategorijai. Es tikai vēlējos dažas papildu vadības iespējas kategorijās, kurās es varētu vēlēties parādīt sānjoslas.

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

Izmantojot virkni kategoriju izgūšanas argumentu, es varu iekļaut un izslēgt visas kategorijas, kuras es vēlos atlasīt. Foreach paziņojumā es varu modificēt izkārtojumu un pielāgot to savai WordPress vietnes sānjoslas formatēšanai.

Turklāt manā functions.php, Es vēlos pievienot funkciju, lai redzētu, vai sānjosla pastāv un vai tai ir pievienots logrīks:

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;
}

Tad manas tēmas ietvaros sānjoslas veidnes fails, es pievienoju kodu, lai dinamiski parādītu apgabalu, ja sānjosla ir reģistrēta un tajā ir logrīks.

$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 sānjoslas katrai kategorijai

Rezultāts ir tieši tas, ko es gribēju:

WordPress logrīka sānjoslas katrai kategorijai

Tagad, neatkarīgi no tā, vai pievienoju, rediģēju vai dzēstu kategorijas ... sānjoslas apgabali vienmēr būs aktuāli!

Ko jūs domājat?

Šī vietne izmanto Akismet, lai samazinātu surogātpastu. Uzziniet, kā tiek apstrādāts jūsu komentārs.