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

వర్గాలను తిరిగి పొందడానికి వాదనల శ్రేణితో, నేను లక్ష్యంగా చేసుకోవాలనుకునే ఏ వర్గాలను అయినా చేర్చగలను మరియు మినహాయించగలను. ఫోర్కాచ్ స్టేట్మెంట్ లోపల, నేను లేఅవుట్ను నా మొత్తం బ్లాగు సైట్ యొక్క సైడ్బార్ ఫార్మాటింగ్కు సవరించగలను మరియు సరిపోల్చగలను.

అదనంగా, నాలో 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 ను ఉపయోగిస్తుంది. మీ వ్యాఖ్య డేటా ఎలా ప్రాసెస్ చేయబడిందో తెలుసుకోండి.