Content Marketing

WordPress: Hur man publicerar flöden för varje kategori på din blogg

Som standard har en WordPress-blogg ett flöde som innehåller alla dess inlägg, oavsett kategori. Ett sätt att förbättra personalisering och segmentering för dina webbplatsbesökare är att aktivera en RSS foder specifikt för deras intressekategorier. Du kan också använda en kategorispecifik feed för att publicera ett nyhetsbrev via e-post. Du kan dock skapa anpassade kategoriflöden för din WordPress-blogg eller anpassade inläggstyper om du vill.

WordPress-kategoriflöden

Here’s code that you can add to your barntema functions.php fil som genererar kategorispecifika RSS-flöden i WordPress med både inkluderings- och undantagslistor för kategori-ID:n:

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

Här är en förklaring av koden:

  • Funktionsdeklaration: Koden definierar en funktion som heter custom_category_feeds.
  • Listor för inkludering och uteslutning av kategorier:
    • Två arrayer är definierade:
      • $included_category_ids: Denna array innehåller kategori-ID:n som du vill inkludera i flödena.
      • $excluded_category_ids: Denna array innehåller kategori-ID:n som du vill utesluta från flödena.
  • Genomgångskategorier: Koden använder get_categories() för att hämta en lista över alla kategorier.
  • Kontroll av uteslutningslistan: För varje kategori kontrolleras om kategori-ID:t finns i $excluded_category_ids array. Om så är fallet fortsätter koden till nästa kategori (exkluderar den).
  • Kontroll av inkluderingslistan: Den kontrollerar sedan om kategorin ska ingå. Om $included_category_ids arrayen inte är tom, och kategori-ID:t finns inte i den arrayen, fortsätter koden till nästa kategori (exkluderar den från inkludering).
  • Generera RSS-flödesinnehåll: Koden fortsätter med att generera RSS-flödesinnehåll för kategorier som klarar inkluderings- och exkluderingskontrollerna. Koden för att generera RSS-flödesinnehåll visas inte men bör likna de tidigare exemplen.
  • Mata ut flödet: Slutligen ställer den in lämplig innehållstyp för RSS-flödet och ekar RSS-flödets innehåll.

    Nyckelfunktionen i den här koden är möjligheten att ange både en inkluderingslista och en undantagslista med kategori-ID:n, vilket ger dig finkornig kontroll över vilka kategorier som ingår eller exkluderas i de genererade kategorispecifika RSS-flödena.

    Ditt WordPress-kategoriflöde

    Användare kan använda URL struktur som tillhandahållits tidigare för att komma åt det anpassade kategorispecifika flödet som du har skapat i WordPress. URL-formatet för att komma åt ett kategorispecifikt flöde är följande:

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

    Här är en uppdelning av hur du anropar flödet:

    1. ersätta yourwebsite.com med din faktiska webbplatsdomän eller URL.
    2. Byta ut {category-name} med snicken för den kategori som du vill komma åt flödet för. Snigeln är en gemen, bindestreckseparerad version av kategorinamnet. Till exempel om ditt kategorinamn är Marknadstips, kan snigeln vara marknadsföringstips.
    3. Lägg till /feed/ till slutet av webbadressen. Detta indikerar att du vill komma åt RSS- eller Atom-flödet för den specifika kategorin.

    Om din webbplats till exempel är "example.com" och du vill komma åt flödet för kategorin "Marknadsföringstips", skulle webbadressen vara:

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

    Användare kan ange denna URL i sin webbläsare eller använda flödesläsare för att prenumerera på det kategorispecifika flödet. Denna URL kommer att förse dem med RSS- eller Atom-flödet för den valda kategorin, vilket gör det enkelt för dem att hålla sig uppdaterade om innehållet i den kategorin.

    Douglas Karr

    Douglas Karr är CMO för Öppna INSIGHTS och grundaren av Martech Zone. Douglas har hjälpt dussintals framgångsrika MarTech-startups, har hjälpt till med due diligence på över $5 miljarder i Martech-förvärv och investeringar, och fortsätter att hjälpa företag att implementera och automatisera sina försäljnings- och marknadsföringsstrategier. Douglas är en internationellt erkänd digital transformations- och MarTech-expert och talare. Douglas är också en publicerad författare till en Dummies guide och en bok om företagsledarskap.

    Relaterade artiklar

    Tillbaka till toppen knappen
    Stänga

    Adblock upptäckt

    Martech Zone kan ge dig detta innehåll utan kostnad eftersom vi tjänar pengar på vår webbplats genom annonsintäkter, affiliate-länkar och sponsring. Vi skulle uppskatta om du tar bort din annonsblockerare när du tittar på vår webbplats.