WordPress: Búðu til hliðarstikur sjálfkrafa fyrir hvern flokk

Aðgerð til að skrá hliðarstikur fyrir hvern WordPress flokk

Ég hef verið að einfalda þessa síðu til að bæta hraðatíma og til að reyna að afla tekna af síðunni betur án þess að pirra lesendur mína. Það eru margar leiðir sem ég hef aflað tekna af síðunni ... hér eru þær frá flestum til minnst ábatasamra:

  • Bein kostun frá samstarfsfyrirtækjum. Við vinnum að sameiginlegum aðferðum sem fela í sér allt frá vefþáttum til hlutabréfa á samfélagsmiðlum til að kynna viðburði þeirra, vörur og / eða þjónustu.
  • Tengja markaðssetning frá fjölda tengdra vettvanga. Ég leita og þekkja fyrirtækin, sjá til þess að þau séu virt og deili sérstökum greinum sem ég skrifa eða auglýsingar sem þau bjóða upp á.
  • Auðlindamarkaðssetning frá félaga sem sleppir atburði sem tengjast markaðssetningu, dæmisögur og hvítrit.
  • Auglýsing borðar frá Google þar sem viðeigandi auglýsingum er dreift sjálfkrafa í gegnum sniðmát mitt og efni.

WordPress hliðarstikur

Með markaðssetningu hlutdeildarfélaga sem veittu ágætis tekjur ákvað ég að ég vildi varpa ljósi á mjög sérstaka auglýsendur byggða á flokki síðunnar, þannig að ég vildi búa til hliðarslár á kraftmikinn hátt án þess að þurfa að kóða hvern hliðarstiku á síðunni. Þannig, ef ég bæti við flokki - birtist hliðarstikan sjálfkrafa á Búnaðarsvæðinu mínu og ég get bætt við auglýsingu.

Til að gera þetta þurfti ég einhvern sérstakan kóða í functions.php skrá af þema barnsins míns. Sem betur fer fann ég að einhver hafði þegar skrifað næstum allt sem ég þurfti: Búðu til smáforrit fyrir hvern flokk á WordPress. Mig langaði aðeins til viðbótarstýringar á því í hvaða flokkum ég gæti viljað birta hliðarstikurnar.

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

Með fjölda röksemda til að sækja flokka get ég tekið með og útilokað alla flokka sem ég vil miða á. Innan yfirlýsingar forsögunnar get ég breytt og passað skipulagið við hliðarsnið sniðsíðunnar á WordPress síðunni minni.

Að auki, í mínum functions.php, Ég vil bæta við aðgerð til að sjá hvort skenkur er til og hefur græju bætt við sig:

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

Síðan innan þema minna skenkur sniðmátaskrá, ég bæti kóða við til að sýna svæðið á virkan hátt ef skenkurinn er skráður og hefur búnað í því.

$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 skenkur fyrir hvern flokk

Niðurstaðan er nákvæmlega sú sem ég vildi:

WordPress græjur hliðarstikur fyrir hvern flokk

Nú, óháð því hvort ég bæti við, breyti eða eyði flokkum ... skenkur svæðin mín verða alltaf uppfærð!

Hvað finnst þér?

Þessi síða notar Akismet til að draga úr ruslpósti. Lærðu hvernig ummæli þín eru unnin.