Змест маркетынгу

WordPress: як апублікаваць каналы для кожнай катэгорыі ў вашым блогу

Па змаўчанні блог WordPress мае стужку, якая змяшчае ўсе паведамленні, незалежна ад катэгорыі. Адзін са спосабаў палепшыць персаналізацыю і сегментацыю для наведвальнікаў вашага сайта - уключыць RSS карміць спецыфічна для іх катэгорый інтарэсаў. Вы таксама можаце выкарыстоўваць катэгорыю канал для публікацыі рассылкі па электроннай пошце. Тым не менш, вы можаце стварыць уласныя каналы катэгорый для вашага блога WordPress або карыстальніцкія тыпы паведамленняў, калі хочаце.

Стужкі катэгорый WordPress

Вось код, які вы можаце дадаць у свой дзіцячая тэма functions.php файл, які стварае RSS-каналы для пэўных катэгорый у WordPress са спісамі ўключэнняў і выключэнняў для ідэнтыфікатараў катэгорый:

function custom_category_feeds() {
    $categories = get_categories();

    // Define an array of category IDs to include and exclude
    $included_category_ids = array(3, 4); // Add IDs of categories to include
    $excluded_category_ids = array(1, 2); // Add IDs of categories to exclude

    foreach ($categories as $category) {
        $category_id = $category->term_id;

        // Check if the category should be excluded
        if (in_array($category_id, $excluded_category_ids)) {
            continue; // Skip excluded categories
        }

        // Check if the category should be included
        if (!empty($included_category_ids) && !in_array($category_id, $included_category_ids)) {
            continue; // Skip categories not in the inclusion list
        }

        $category_slug = $category->slug;
        $category_name = $category->name;

        // Start building the RSS feed content
        $rss_feed = '<?xml version="1.0" encoding="UTF-8" ?>' . "\n";
        $rss_feed .= '<rss version="2.0" xmlns:atom="1www.w3.org/2005/Atom">' . "\n";
        $rss_feed .= '<channel>' . "\n";
        $rss_feed .= '<title>' . $category_name . ' RSS Feed</title>' . "\n";
        $rss_feed .= '<link>' . get_bloginfo('url') . '</link>' . "\n";
        $rss_feed .= '<description>' . $category_name . ' RSS Feed</description>' . "\n";
        $rss_feed .= '<atom:link href="' . esc_url(site_url("/category/$category_slug/feed/")) . '" rel="self" type="application/rss+xml" />' . "\n";

        // Query posts in the current category
        $args = array(
            'cat' => $category_id,
            'posts_per_page' => 10, // Adjust as needed
        );
        $category_posts = new WP_Query($args);

        while ($category_posts->have_posts()) {
            $category_posts->the_post();
            $rss_feed .= '<item>' . "\n";
            $rss_feed .= '<title>' . get_the_title() . '</title>' . "\n";
            $rss_feed .= '<link>' . get_permalink() . '</link>' . "\n";
            $rss_feed .= '<pubDate>' . get_the_time('D, d M Y H:i:s O') . '</pubDate>' . "\n";
            $rss_feed .= '</item>' . "\n";
        }

        wp_reset_postdata();

        $rss_feed .= '</channel>' . "\n";
        $rss_feed .= '</rss>';

        // Output the feed
        header('Content-Type: application/rss+xml; charset=UTF-8');
        echo $rss_feed;
    }
}

add_action('do_feed_category', 'custom_category_feeds', 10, 1);
add_action('do_feed_category_rss2', 'custom_category_feeds', 10, 1);

Вось тлумачэнне кода:

  • Дэкларацыя функцыі: Код вызначае функцыю з імем custom_category_feeds.
  • Спісы ўключэння і выключэння катэгорый:
    • Вызначаны два масівы:
      • $included_category_ids: Гэты масіў змяшчае ідэнтыфікатары катэгорый, якія вы хочаце ўключыць у каналы.
      • $excluded_category_ids: Гэты масіў змяшчае ідэнтыфікатары катэгорый, якія вы хочаце выключыць з каналаў.
  • Перабіраць катэгорыі: Код выкарыстоўвае get_categories() каб атрымаць спіс усіх катэгорый.
  • Праверка спісу выключэнняў: Для кожнай катэгорыі ён правярае, ці знаходзіцца ідэнтыфікатар катэгорыі ў $excluded_category_ids масіў. Калі гэта так, код пераходзіць да наступнай катэгорыі (выключае яе).
  • Праверка спісу ўключэнняў: Затым ён правярае, ці трэба ўключыць катэгорыю. Калі $included_category_ids масіў не пусты, і ідэнтыфікатар катэгорыі адсутнічае ў гэтым масіве, код пераходзіць да наступнай катэгорыі (выключае яе з уключэння).
  • Стварэнне змесціва RSS-канала: Код працягвае генераваць змесціва RSS-канала для катэгорый, якія праходзяць праверку ўключэння і выключэння. Код для стварэння змесціва RSS-стужкі не паказаны, але павінен быць падобны на папярэднія прыклады.
  • Вывесці стужку: Нарэшце, ён усталёўвае адпаведны тып кантэнту для RSS-канала і паўтарае змесціва RSS-канала.

    Ключавой асаблівасцю гэтага кода з'яўляецца магчымасць указваць як спіс уключэнняў, так і спіс выключэнняў ідэнтыфікатараў катэгорый, што дае вам дэталёвы кантроль над тым, якія катэгорыі ўключаны або выключаны ў створаныя RSS-каналы для канкрэтных катэгорый.

    Ваш канал катэгорый WordPress

    Карыстальнікі могуць выкарыстоўваць URL структура, прадастаўленая раней, каб атрымаць доступ да карыстальніцкай стужкі для канкрэтнай катэгорыі, якую вы стварылі ў WordPress. Фармат URL-адраса для доступу да стужкі для пэўнай катэгорыі наступны:

    http://yourwebsite.com/category/{category-name}/feed/

    Вось разбор таго, як выклікаць канал:

    1. Замяняць yourwebsite.com з рэальным даменам або URL-адрасом вашага сайта.
    2. Замяніць {category-name} са слаганом катэгорыі, для якой вы хочаце атрымаць доступ да стужкі. Смоўж - гэта версія назвы катэгорыі ў малым рэгістры, падзеленая злучком. Напрыклад, калі назва вашай катэгорыі Саветы па маркетынгу, смоўж можа быць маркетынгавыя парады.
    3. Дадаваць /feed/ у канец URL. Гэта азначае, што вы хочаце атрымаць доступ да RSS або Atom для пэўнай катэгорыі.

    Напрыклад, калі ваш вэб-сайт "example.com", і вы хочаце атрымаць доступ да стужкі для катэгорыі "Парады па маркетынгу", URL будзе наступным:

    http://example.com/category/marketing-tips/feed/

    Карыстальнікі могуць увесці гэты URL у свой вэб-браўзер або выкарыстоўваць праграмы для чытання стужак, каб падпісацца на стужку для пэўнай катэгорыі. Гэты URL будзе прадастаўляць ім канал RSS або Atom для абранай катэгорыі, што дазваляе ім лёгка заставацца ў курсе змесціва гэтай катэгорыі.

    Артыкулы па Тэме

    Вярнуцца да пачатку кнопкі
    блізка

    Выяўлена блакіроўка рэкламы

    Мы залежым ад рэкламы і спонсарства, каб падтрымліваць Martech Zone бясплатна. Калі ласка, адключыце блакіроўшчык рэкламы або падтрымайце нас, аформіўшы даступнае гадавое сяброўства без рэкламы (10 долараў ЗША):

    Зарэгіструйцеся для атрымання штогадовага сяброўства