Marketing Content

WordPress: come pubblicare feed per ogni categoria sul tuo blog

Per impostazione predefinita, un blog WordPress ha un feed che incorpora tutti i suoi post, indipendentemente dalla categoria. Un modo per migliorare la personalizzazione e la segmentazione per i visitatori del tuo sito è abilitare un RSS feed specifici per le loro categorie di interesse. Puoi anche utilizzare uno specifico per categoria feed per pubblicare una newsletter via email. Tuttavia, se lo desideri, puoi creare feed di categorie personalizzate per il tuo blog WordPress o tipi di post personalizzati.

Feed di categorie WordPress

Ecco il codice che puoi aggiungere al tuo temi per bambini functions.php file che genera feed RSS specifici per categoria in WordPress con elenchi di inclusione ed esclusione per gli ID di categoria:

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

Ecco una spiegazione del codice:

  • Dichiarazione di funzione: Il codice definisce una funzione denominata custom_category_feeds.
  • Elenchi di inclusione ed esclusione di categorie:
    • Sono definiti due array:
      • $included_category_ids: questo array contiene gli ID di categoria che desideri includere nei feed.
      • $excluded_category_ids: questo array contiene gli ID di categoria che desideri escludere dai feed.
  • Passa attraverso le categorie: Il codice usa get_categories() per recuperare un elenco di tutte le categorie.
  • Controllo elenco esclusioni: Per ogni categoria, controlla se l'ID della categoria è nel file $excluded_category_ids vettore. In caso affermativo, il codice prosegue con la categoria successiva (la esclude).
  • Controllo dell'elenco di inclusione: Quindi controlla se la categoria deve essere inclusa. Se la $included_category_ids l'array non è vuoto e l'ID della categoria non è presente in quell'array, il codice continua con la categoria successiva (la esclude dall'inclusione).
  • Generazione del contenuto del feed RSS: Il codice procede alla generazione del contenuto del feed RSS per le categorie che superano i controlli di inclusione ed esclusione. Il codice per generare il contenuto del feed RSS non viene mostrato ma dovrebbe essere simile agli esempi precedenti.
  • Emetti il ​​feed: Infine, imposta il tipo di contenuto appropriato per il feed RSS e riproduce il contenuto del feed RSS.

    La caratteristica principale di questo codice è la possibilità di specificare sia un elenco di inclusione che un elenco di esclusione degli ID di categoria, offrendoti un controllo dettagliato su quali categorie sono incluse o escluse nei feed RSS specifici della categoria generati.

    Il tuo feed di categorie WordPress

    Gli utenti possono utilizzare il URL struttura fornita in precedenza per accedere al feed personalizzato specifico della categoria che hai creato in WordPress. Il formato dell'URL per accedere a un feed specifico della categoria è il seguente:

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

    Ecco una ripartizione di come chiamare il feed:

    1. sostituire yourwebsite.com con il dominio o l'URL del tuo sito web effettivo.
    2. Sostituire {category-name} con lo slug della categoria per la quale desideri accedere al feed. Lo slug è una versione minuscola, separata da un trattino, del nome della categoria. Ad esempio, se il nome della tua categoria è Suggerimenti di marketing, la lumaca potrebbe essere di marketing-tips.
    3. Aggiungi /feed/ alla fine dell'URL. Ciò indica che desideri accedere al feed RSS o Atom per la categoria specifica.

    Ad esempio, se il tuo sito web è "example.com" e desideri accedere al feed per la categoria "Suggerimenti per il marketing", l'URL sarà:

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

    Gli utenti possono inserire questo URL nel proprio browser Web o utilizzare le applicazioni di lettura dei feed per iscriversi al feed specifico della categoria. Questo URL fornirà loro il feed RSS o Atom per la categoria selezionata, consentendo loro di rimanere facilmente aggiornati sui contenuti di quella categoria.

    Douglas Karr

    Douglas Karr è CMO di ApriINSIGHTS e il fondatore della Martech Zone. Douglas ha aiutato dozzine di startup MarTech di successo, ha assistito nella due diligence di oltre 5 miliardi di dollari in acquisizioni e investimenti Martech e continua ad assistere le aziende nell'implementazione e nell'automazione delle loro strategie di vendita e marketing. Douglas è un esperto e relatore di trasformazione digitale e MarTech riconosciuto a livello internazionale. Douglas è anche autore di una guida per manichini e di un libro sulla leadership aziendale.

    Articoli Correlati

    Torna a pulsante in alto
    Chiudi

    Blocco annunci rilevato

    Martech Zone è in grado di fornirti questi contenuti gratuitamente perché monetizziamo il nostro sito attraverso entrate pubblicitarie, link di affiliazione e sponsorizzazioni. Ti saremmo grati se rimuovessi il blocco degli annunci mentre visiti il ​​nostro sito.