WordPress: creare feed RSS alternativi

WordPress: creare feed RSS alternativi

Se il nostro sito WordPress serve contenuti ad altri siti o piattaforme tramite feed RSS, potremmo avere bisogno di formati RSS alternativi per ciascun sito o piattaforma.

La soluzione consiste nel copiare il template originale del feed RSS di WordPress nel nostro tema, modificarlo e quindi aggiungere una variabile alla query string di WordPress in modo da poterlo servire:


// functions.php

function my_add_query_vars_filter( $vars ) {
  $vars[] = 'my-alt-feed';
  return $vars;
}

add_filter( 'query_vars', 'my_add_query_vars_filter' );


remove_all_actions( 'do_feed_rss2' );

add_action( 'do_feed_rss2', 'my_feed_rss2', 10, 1 );

function my_feed_rss2( $for_comments ) {

	// Copiamo il template da /wp-includes/feed-rss2.php e lo modifichiamo

    $rss_template = get_template_directory() . '/inc/my-feed-rss2.php';

    if( get_query_var( 'my-alt-feed' ) == '1' and file_exists( $rss_template ) ) {
        load_template( $rss_template );
    } else {
        do_feed_rss2( $for_comments );
    }
}

A questo punto l'URL tuosito.com/feed/?my-alt-feed=1 mostrerà il feed RSS alternativo.

Torna su