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