Vous êtes hôteliers, et vous souhaitez afficher les flux rss des dernières actualités et événements de votre région sur une page de votre site Internet créé avec WordPress ?
Alors cet article va vous intéresser !
Peu importe votre secteur d’activité, avec le Shortcode WordPress ci-dessous, vous allez pouvoir afficher n’importe quel flux rss sur n’importe quelle page ou article de votre site Internet.
Le code suivant est à insérer dans le fichier functions.php, sur votre serveur.
function theme_fluxrss_shortcode( $atts, $content = null ) {
extract( shortcode_atts( array(
	    "urlflux" => '',
	), $atts));
    include_once(ABSPATH . WPINC . '/feed.php');
    $rss = fetch_feed(''. $urlflux .'');
    if (!is_wp_error( $rss ) ) : 
    $maxitems = $rss->get_item_quantity(5); 
    $rss_items = $rss->get_items(0, $maxitems); 
endif;	
	if ($maxitems == 0) echo '<li>Pas d article pour le moment.</li>';
    else
    foreach ( $rss_items as $item ) :
		    $output .= '<ul id="flux-rss-cool">';
			$output .= '<li>';
		    $output .= '<div class="flux-rss">';
			$output .= '<ul class="list">';
		    $output .= '<li><h4><a target="_blank" href="' . $item->get_permalink() . '">' . $item->get_title() . '</a></h4>';
			$output .= '' . $item->get_description() . '</li></ul>';
			$output .= '</div>';
			$output .= '</li> ';
			$output .= '</ul>';
			$output .= '<div class="cb"></div>';
	endforeach;
	return $output;
}
add_shortcode( 'fluxrss', 'theme_fluxrss_shortcode' );
Ensuite, il vous suffira d’insérer le shortcode suivant dans n’importe quelle page de votre site Internet.
[flurss urlflux="l'url de votre flux rss"]
A vous de personnaliser l’affichage de votre flux, à l’aide de CSS.
Changez la variable $maxitems (qui est a 5) pour afficher plus de 5 flux.
Aller plus loin
Le Shortcode Flux Rss, utilise le service http://simplepie.org/, vous pourrez donc personnaliser l’affichage du flux à votre guise !
Exemple, si vous souhaitez limiter l’affichage de la description, avec la fonction « Shorten » :
function theme_fluxrss_shortcode( $atts, $content = null ) {
	extract( shortcode_atts( array(
	    "urlflux" => '',
	), $atts));
	function shorten($string, $length)
{
    // By default, an ellipsis will be appended to the end of the text.
    $suffix = '…';
    // Convert 'smart' punctuation to 'dumb' punctuation, strip the HTML tags,
    // and convert all tabs and line-break characters to single spaces.
    $short_desc = trim(str_replace(array("r","n", "t"), ' ', strip_tags($string)));
    // Cut the string to the requested length, and strip any extraneous spaces 
    // from the beginning and end.
    $desc = trim(substr($short_desc, 0, $length));
    // Find out what the last displayed character is in the shortened string
    $lastchar = substr($desc, -1, 1);
    // If the last character is a period, an exclamation point, or a question 
    // mark, clear out the appended text.
    if ($lastchar == '.' || $lastchar == '!' || $lastchar == '?') $suffix='';
    // Append the text.
    $desc .= $suffix;
    // Send the new description back to the page.
    return $desc;
}
	include_once(ABSPATH . WPINC . '/feed.php');
    $rss = fetch_feed(''. $urlflux .'');
    if (!is_wp_error( $rss ) ) : 
    $maxitems = $rss->get_item_quantity(5); 
    $rss_items = $rss->get_items(0, $maxitems); 
endif;	
	if ($maxitems == 0) echo '<li>Pas d article pour le moment.</li>';
    else
    foreach ( $rss_items as $item ) :
		    $output .= '<ul id="flux-rss-cool">';
			$output .= '<li>';
		    $output .= '<div class="flux-rss">';
			$output .= '<ul class="list">';
		    $output .= '<li><h4><a target="_blank" href="' . $item->get_permalink() . '">' . $item->get_title() . '</a></h4>';
			$output .= '' . shorten($item->get_description(), 27) . '</li></ul>';
			$output .= '</div>';
			$output .= '</li> ';
			$output .= '</ul>';
			$output .= '<div class="cb"></div>';
	endforeach;
	return $output;
}
add_shortcode( 'fluxrss', 'theme_fluxrss_shortcode' );
Amusez vous bien !
N’hésitez pas à publier vos commentaires si vous avez des remarques ou des questions !

 
					 
					 
					





Laissez un commentaire