Maketing Kontni

WordPress: Kijan Pou Pibliye Feeds Pou Chak Kategori Sou Blog Ou

Pa default, yon blog WordPress gen yon manje ki enkòpore tout posts li yo, kèlkeswa kategori. Youn nan fason yo amelyore pèsonalizasyon ak segmentasyon pou vizitè sit ou a se pèmèt yon RSS manje espesifik nan kategori enterè yo. Ou kapab tou itilize yon kategori espesifik feed yo pibliye yon bilten imel. Sepandan, ou ka kreye repòtaj kategori koutim pou blog WordPress ou a oswa kalite pòs koutim si ou ta renmen.

WordPress Kategori Feeds

Isit la nan kòd ke ou ka ajoute nan ou tèm timoun nan functions.php Fichye ki jenere flux RSS espesifik kategori yo nan WordPress ak tou de lis enklizyon ak esklizyon pou ID kategori:

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="http://www.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);

Men yon eksplikasyon sou kòd la:

  • Deklarasyon Fonksyon: Kòd la defini yon fonksyon yo rele custom_category_feeds.
  • Lis enklizyon ak eksklizyon kategori:
    • De etalaj yo defini:
      • $included_category_ids: Etalaj sa a kenbe idantite kategori ou vle mete nan flux yo.
      • $excluded_category_ids: Etalaj sa a kenbe idantite kategori ke ou vle eskli nan flux yo.
  • Loop Through Kategori: Kòd la itilize get_categories() pou jwenn yon lis tout kategori.
  • Tcheke lis eksklizyon: Pou chak kategori, li tcheke si kategori ID la nan $excluded_category_ids etalaj. Si li se, kòd la kontinye nan pwochen kategori a (ekskli li).
  • Tcheke lis enklizyon: Lè sa a, li tcheke si kategori a ta dwe enkli. Si la $included_category_ids etalaj la pa vid, epi ID kategori a pa nan etalaj sa a, kòd la kontinye nan pwochen kategori a (ekskli li nan enklizyon).
  • Jenere kontni RSS Feed: Kòd la kontinye jenere kontni RSS feed pou kategori ki pase chèk enklizyon ak esklizyon yo. Kòd pou jenere kontni RSS feed yo pa montre men yo ta dwe sanble ak egzanp anvan yo.
  • Sòti Feed la: Finalman, li fikse kalite kontni ki apwopriye a pou flux RSS la ak eko kontni an RSS.

    Karakteristik kle nan kòd sa a se kapasite nan presize tou de yon lis enklizyon ak yon lis esklizyon nan kategori ID yo, ki ba ou amann kontwòl sou ki kategori yo enkli oswa eskli nan pwodwi RSS yo espesifik kategori.

    Feed Kategori WordPress ou a

    Itilizatè yo ka itilize URL estrikti yo bay pi bonè pou jwenn aksè nan manje espesifik kategori koutim ou te kreye nan WordPress. Fòm URL pou jwenn aksè nan yon manje espesifik kategori se jan sa a:

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

    Men yon dekonpozisyon sou fason pou rele manje a:

    1. Ranplase yourwebsite.com ak domèn aktyèl sit entènèt ou oswa URL.
    2. Ranplase {category-name} ak paresseux nan kategori a pou ki ou vle jwenn aksè nan manje a. Paresseux a se yon vèsyon miniskil, ki separe ak tire nan non kategori a. Pou egzanp, si non kategori ou a Konsèy Maketing, paresseux a ta ka maketing-konsy.
    3. Add /feed/ nan fen URL la. Sa a endike ke ou vle jwenn aksè nan RSS oswa Atom feed pou kategori espesifik la.

    Pou egzanp, si sit entènèt ou a se "example.com," epi ou vle jwenn aksè nan manje a pou kategori "Konsèy maketing", URL la ta dwe:

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

    Itilizatè yo ka antre URL sa a nan navigatè entènèt yo oswa itilize aplikasyon pou lektè manje pou yo abònman nan manje espesifik kategori a. URL sa a pral ba yo RSS oswa Atom feed pou kategori yo chwazi a, sa ki fè li fasil pou yo rete mizajou sou kontni an nan kategori sa a.

    Douglas Karr

    Douglas Karr se CMO nan OpenINSIGHTS ak fondatè a nan Martech Zone. Douglas te ede plizyè douzèn demaraj MarTech ki gen siksè, li te ede nan dilijans plis pase $5 milya nan akizisyon ak envestisman Martech, epi li kontinye ede konpayi yo nan mete ann aplikasyon ak otomatize estrateji lavant ak maketing yo. Douglas se yon transfòmasyon dijital entènasyonalman rekonèt ak ekspè MarTech ak oratè. Douglas se tou yon otè pibliye nan yon gid Dummie a ak yon liv lidèchip biznis.

    Atik ki gen rapò

    Retounen nan bouton tèt
    Fèmen

    Adblock Detekte

    Martech Zone se kapab ba ou kontni sa a gratis paske nou monetize sit nou an atravè revni anons, lyen afilye, ak parennaj. Nou ta apresye si ou ta retire bloke anons ou a pandan w ap gade sit nou an.