10 Astuces RSS pour WordPress

Posté le par Ghilas BELHADJ | Laisser Un Commentaire

RSS est l’une des technologies les plus facile et les plus utiles, surtout dans le monde du blogging, mais aussi ailleurs. On peut l’utiliser pour suivre les mise-à-jours des articles d’un forum, blog ou autre, ou pour suivre les commentaires d’un article quelconque. Vous allez voir dans cet article comment personnaliser vos flux et profiter [...]

10 Astuces RSS pour wordpress

RSS est l’une des technologies les plus facile et les plus utiles, surtout dans le monde du blogging, mais aussi ailleurs. On peut l’utiliser pour suivre les mise-à-jours des articles d’un forum, blog ou autre, ou pour suivre les commentaires d’un article quelconque.

Vous allez voir dans cet article comment personnaliser vos flux et profiter aux mieux de cette technologie pour résoudre quelques problèmes courant.

les astuces citées dans cet article sont disponible pour les blogs WordPress.

1.Rediriger Vos flux vers un format unique :

WordPress Fournis des flux RSS sous différent formats Atom, RDF, RSS, et RSS2, mais de nos jours, les gens on tendance à plus utiliser RSS2 que les autre formats. Donc pourquoi pas rediriger les autre vers ce format. Pour ça vous n’avez qu’a ajouter le code suivant au fichier .htaccess se trouvant à la racine de votre installation WordPress.

<IfModule mod_alias.c>
 RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://example.com/feed/
 RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://example.com/comments/feed/
</IfModule>

Redirect feeds to a single format

2.Contrôler le temps de publication de vos articles sur votre flux RSS

Vos articles sont automatiquement transféré sur votre flux rss juste après leurs publications, alors si vous voulez apporter des modification sur votre articles, vous pouvez bien sûr le faire, mais les changement ne seront pas pris en considération dans votre flux RSS.

Pour remédier à ça, vous pouvez laisser un peu de temps avant de publier votre article sur RSS. Pour ce faire, ajoutez le code suivant à votre fichier functions.php :

function publish_later_on_feed($where) {
	global $wpdb;

	if ( is_feed() ) {
	// Heure format WordPress
	$now = gmdate('Y-m-d H:i:s');

	// Temps d'attente
	$wait = '10'; // entier

	$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

	$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
	}
	return $where;
}
add_filter('posts_where', 'publish_later_on_feed');

Le code précédent vas ajouter une intervalle de 10 minutes entre le moment ou vous poster votre billet et celui ou il sera disponible sur RSS.

Publish your feed later

3.Contrôler le nombre d’articles dans votre flux RSS

Par défaut, le nombre d’articles présent dans votre flux RSS, est celui présent dans le tableau de bord sous Réglages > Lecture. Si vous voulez changer cette valeur directement dans votre thème sans avoir recours aux réglages dans WordPress, vous n’avez qu’à ajouter ce code dans votre fichier functions.php

function feedFilter($query) {
	if ($query->is_feed) {
		$query->set('posts_per_page','20'); //changer le 20 par le nombre d'articles que vous voulez afficher.
	}
 
	return $query;
}
add_filter('pre_get_posts','feedFilter');

4.Rediriger votre flux RSS vers FeedBurner

Si vous avez déjà utilisé le flux RSS par défaut de WordPress (www.votresite.com/feed) et que maintenant vous voulez passer à feedburner sans perdre vos abonnées, vous pouvez utiliser la redirection serveur en ajoutant le code suivant au fichier .htaccess présent à la racine de votre site.


	 RewriteEngine on
	 RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
	 RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
	 #changer le flux ci-dessus par votre propre flux
	 RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/votre_flux [R=302,NC,L]

How to: redirect WordPress RSS feeds to FeedBurner with .htaccess

5.Insérer du contenu dans votre flux RSS :

Si vous voulez ajouter de la pub dans votre flux RSS, ou bien n’importe quel contenu spécialement pour vos abonnées, ajoutez le code suivant à votre fichier functions.php présent dans votre thème WordPress.

	function insertAds($content) {
	    $content = $content.'
		<!--Votre contenu doit être placé ici -->
		<a href="http://www.junksource.com">Visiter junksource.com?</a>
		';
	    return $content;
	}
	add_filter('the_excerpt_rss', 'insertAds');
	add_filter('the_content_rss', 'insertAds');

WordPress, ajouter du contenu dans son flux RSS !

6.Afficher les articles depuis une seul catégorie sur votre flux RSS

Si vous voulez maintenant afficher seulement les articles depuis une seul catégorie, vous n’avez qu’à ajouter le code suivant à votre fichier functions.php

function feedFilter($query) {
	if ($query->is_feed) {
		$query->set('category_name', 'blog');
	}
 
	return $query;
}
add_filter('pre_get_posts','feedFilter');

7.Exclure une catégorie de votre flux RSS

Si vous possédez une catégorie ou vous postez tout vos articles pas trop importants et inutiles pour vos abonnées, vous pouvez l’exclure de votre flux RSS. Pour ça vous devez d’abord connaitre l’identifiant de la catégorie que vous voulez exclure, puis ajouter le code suivant à votre fichier functions.php

	function myFilter($query) {
	    if ($query->is_feed) {
	        $query->set('cat','-5'); //à changer avec l'identifiant de la catégorie que vous voulez exclure
	    }
	return $query;
	}

	add_filter('pre_get_posts','myFilter');

How to: exclude categories from your RSS feed


How to: Display any RSS feed on your WordPress blog

8.Afficher n’importe quel flux RSS sur votre bloG

Si vous avez d’autres blogs ou gérez un forum, et que vous voulez afficher l’actualité de ceux-ci sur votre blog, WordPress vous propose une fonctions facile à utiliser et que vous pouvez mettre partout ou vous voulez afficher le flux.

	// Inclure le fichier RSS du Core WordPress
	?php include_once(ABSPATH.WPINC.'/rss.php');

	//Changez le 5 par le nombre d'éléments que vous voulez afficher.
	wp_rss('http://feeds.feedburner.com/junksource', 5); ?

9.Inclure le contenu des pages dans votre flux

Vous avez la possibilité d’afficher le contenu de vos pages en plus de vos articles dans votre flux RSS, pour cela, vous n’avez qu’a ajouter le code suivant à votre fichier functions.php

function feedFilter($query) {
	if ($query->is_feed) {
		$query->set('post_type','any');
		}
	return $query;
}
add_filter('pre_get_posts','feedFilter');

pour n’afficher que les pages (sans les articles) vous devez substituer le mot ‘any’ par ‘page’.

Si vous voulez être plus précis et afficher seulement les pages de haut niveau (pages parentes) ajoutez cette ligne :

$query->set('post_parent','0');

et vous obtenez :

function feedFilter($query) {
	if ($query->is_feed) {
		$query->set('post_type','any');
		$query->set('post_parent','0');
		}
	return $query;
}
add_filter('pre_get_posts','feedFilter');

10.Supprimer Votre flux RSS

Si vous utilisez WordPress pour gérer un portfolio ou autre chose qui n’ai pas besoins de flux RSS, vous pouvez supprimer celui-ci en ajoutant le code suivant dans votre fichier functions.php

function fb_disable_feed() {
	    wp_die( __('Pas de flux RSS ! - <a href="'. get_bloginfo('url') .'">Retourner à la page d'accueil</a>!') );
	}

	add_action('do_feed', 'fb_disable_feed', 1);
	add_action('do_feed_rdf', 'fb_disable_feed', 1);
	add_action('do_feed_rss', 'fb_disable_feed', 1);
	add_action('do_feed_rss2', 'fb_disable_feed', 1);
	add_action('do_feed_atom', 'fb_disable_feed', 1);

Disable WordPress feed