Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Flujos RSS en WordPress sin plugin

Imago voragine.net
[actualizado el ]

Sacar un listado de las últimas actualizaciones de cualquier página web en WordPress es trivial: hay decenas de plugins, incluso widgets que ya vienen de serie en el paquete básico de WordPress. Pero hay veces que necesitamos una versatilidad en el feed mayor que la que ofrece cualquiera de los plugins; por otro lado, podemos querer no sobrecargar de plugins nuestros temas.

WordPress ofrece la función fetch_feed() para obtener feeds mediante SimplePie and FeedCache y formatearlos a voluntad.

El código siguiente, basado en el explicado en apartado del Codex de WordPress dedicado a fetch_feed, devuelve las cinco últimas actualizaciones de una serie de páginas:

<?php
        $feeds = array('http://example1.com/feed','http://example2.com/feed','http://example3.com/feed');
        foreach ( $feeds as $feed ) {
                include_once(ABSPATH . WPINC . '/feed.php');
                $rss = fetch_feed("$feed");
                if (!is_wp_error( $rss ) ) { // Checks that the object is created correctly
                        // Figure out how many total items there are, but limit it to 5.
                        $maxitems = $rss->get_item_quantity(5);
                        // Build an array of all the items, starting with element 0 (first element).
                        $rss_items = $rss->get_items(0, $maxitems);
                }
                $html = "<ul>";
                if ($maxitems == 0) {
                $html .= "<li>El feed $feed no est&aacute; disponible en este momento.</li>";}

                else // Loop through each feed item and display each item as a hyperlink
                        foreach ( $rss_items as $item ) {
                $html .= "<li>";
                $html .= "<a href='{$item->get_permalink()}' title='Publicado el {$item->get_date('j F Y | g:i a')}'>{$item->get_title()}</a>";
                $html .= "</li>";
                        }
                $html .= "</ul>";
                echo $html;
} ?>

2 comentarios

    • Por Fliberty

    Que sucede si también quiero mostrar una imagen de los post, las cuales he incluido utilizando campos personalizados?…

  1. Fliberty, échale un ojo a estos dos hilos de los foros de wordpress:

    Custom fields on RSS how to

    Custom Field in RSS

Dejar un comentario

*
*

 

No hay trackbacks