WordPress: Ар бир категория үчүн автоматтык түрдө каптал тилкелерин түзүү

Ар бир WordPress категориясы үчүн каптал тилкелерин каттоо функциясы

Мен ылдамдыкты жогорулатуу жана окурмандардын кыжырын келтирбей, сайтты жакшыраак акча табууга аракет кылуу үчүн ушул сайтты жөнөкөйлөтүп жатам. Сайтты акчага айлантуунун бир нече жолу бар ... бул жерде эң кирешелүү жана эң кирешелүү:

  • Түз демөөрчүлүк жардам өнөктөш компаниялардан. Биз алардын иш-чараларын, өнүмдөрүн жана / же кызматтарын илгерилетүү үчүн вебинарлардан тартып, социалдык медиадагы бөлүшүүлөргө чейинки бардык нерселерди камтыган жамааттык стратегиялардын үстүндө иштейбиз.
  • Affiliate маркетинг шериктеш платформалардын массивинен. Мен компанияларды карап чыгып, аларды аныктайм, алардын кадыр-баркка ээ экендигин камсыз кылам жана мен жазган конкреттүү макалалар же алар сунуш кылган жарнамалар менен бөлүшөм.
  • Ресурстук маркетинг чыгарган өнөктөшүнөн маркетингге байланыштуу иш-чаралар, изилдөөлөр жана ак кагаздар.
  • Баннер жарнамасы Googleден, тиешелүү жарнамалар автоматтык түрдө менин шаблонум жана контентим аркылуу таркатылат.

WordPress каптал тилкелери

Тиешелүү маркетингдин жардамы менен бир аз киреше алып келсе, мен сайттын категориясына таянып, өзгөчө жарнамачыларга көңүл бургум келди деп чечтим, ошондуктан сайттын ар бир каптал тилкесин катуу коддоонун кереги жок, динамикалуу каптал тилкелерин түзгүм келди. Ошентип, эгер мен категория кошсом - Виджет аймагымда каптал тилкеси автоматтык түрдө пайда болот жана мен жарнама кошо алам.

Бул үчүн, мага айрым коддор керек болчу functions.php менин баламдын темасы. Бактыга жараша, кимдир бирөө буга чейин мага керектүү нерселердин бардыгын жазып койгонун байкадым: WordPress ар бир категориясы үчүн Widgetized каптал тилкелерин түзүү. Мен жөн гана кайсы категорияларда каптал тилкелерин көрсөтүүнү каалашым мүмкүн болгон кошумча көзөмөлдү кааладым.

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 Widget каптал тилкелери

Эми категорияларды кошконума, түзөткөнүмө же жок кылганыма карабастан ... менин каптал тилкелерим ар дайым жаңыланып турат!

Эмне деп ойлойсуң?

Бул сайт спам азайтуу Akismet колдонот. Сиздин комментарий маалымат кандайча иштелишин Үйрөнүү.