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