WordPress Hosting

widget escritorio noticias personalizadas wordpress

Tus propias noticias personalizadas como widget de escritorio en WordPress

El escritorio de WordPress te recibe con un widget de «Eventos y noticias de WordPress» que, seamos sinceros, a la mayoría de usuarios les importa entre poco y nada.

Si gestionas webs para clientes es todavía peor, porque les estás mostrando información que no les aporta nada y ocupa un espacio que podría ser útil.

La buena noticia es que puedes cambiarlo por tus propias fuentes de noticias, ya sea con un poco de código o con un plugin que te lo deja todo listo. Aquí tienes las dos opciones.

Pero antes…

¿Y para qué quiero noticias personalizadas en el escritorio de WordPress?

Si haces webs para clientes, un widget con tus noticias o las de su sector es un detalle de branding que se agradece mucho. El cliente entra al escritorio y ve información relevante en vez del blog de WordPress.org, que probablemente no le dice nada.

También viene bien si tienes un equipo de redactores o editores y quieres que vean novedades del proyecto, fuentes de referencia del sector o avisos internos nada más acceder. Y si simplemente quieres tener a mano tus blogs favoritos sin salir de WordPress, pues también.

Casos típicos donde encaja bien:

  • Agencias y freelances que entregan proyectos a clientes y quieren dejar el escritorio personalizado.
  • Medios y blogs con varios redactores, para compartir fuentes de información comunes.
  • Intranets o sitios corporativos donde el escritorio es la primera pantalla que ven los usuarios.
  • Tu propio WordPress, para tener las noticias que te interesan a un clic.

Si aún tienes interés, vamos a las opciones…

Opción rápida: código de funciones

Si solo necesitas mostrar un par de feeds RSS en el escritorio y quieres algo ligero, con un snippet te sobra. Puedes añadirlo a tu plugin de personalizaciones, al functions.php de tu tema hijo o donde tú prefieras.

<?php
/**
 * Widget de escritorio con noticias RSS personalizadas.
 *
 * Sustituye el widget por defecto de WordPress por uno con tus feeds.
 * Quita la primera línea si vas a añadir el código al functions.php o
 * a un plugin de fragmentos de código. Déjala si lo subes como mu-plugin
 *
 * Personaliza los feeds en el array $feeds (url y título).
 * Ajusta $items_per_feed y $max_items a tu gusto.
 */

// Registra el widget personalizado y quita el de WordPress
add_action( 'wp_dashboard_setup', 'ayudawp_custom_news_widget_setup' );

function ayudawp_custom_news_widget_setup() {
    // Quita el widget por defecto de noticias y eventos de WordPress
    remove_meta_box( 'dashboard_primary', 'dashboard', 'side' );

    // Añade el widget personalizado
    wp_add_dashboard_widget(
        'ayudawp_custom_news',
        'Últimas noticias',  // Cambia el título a lo que quieras
        'ayudawp_custom_news_widget_output'
    );
}

function ayudawp_custom_news_widget_output() {
    // === PERSONALIZA AQUÍ ===
    // Añade o quita feeds a tu gusto
    $feeds = array(
        array(
            'url'   => 'https://ayudawp.com/feed/',
            'title' => 'Ayuda WordPress',
        ),
        array(
            'url'   => 'https://es.wordpress.org/news/feed/',
            'title' => 'WordPress España',
        ),
    );

    $items_per_feed = 3;  // Elementos por feed
    $max_items      = 8;  // Máximo total de elementos
    // === FIN DE PERSONALIZACIÓN ===

    include_once ABSPATH . WPINC . '/feed.php';

    $all_items = array();

    foreach ( $feeds as $feed_data ) {
        $rss = fetch_feed( $feed_data['url'] );

        if ( is_wp_error( $rss ) ) {
            continue;
        }

        $feed_items = $rss->get_items( 0, $items_per_feed );

        foreach ( $feed_items as $item ) {
            $all_items[] = array(
                'title'  => esc_html( $item->get_title() ),
                'link'   => esc_url( $item->get_permalink() ),
                'date'   => $item->get_date( 'U' ),
                'source' => esc_html( $feed_data['title'] ),
            );
        }
    }

    if ( empty( $all_items ) ) {
        echo '<p>' . esc_html__( 'No hay noticias disponibles.', 'ayudawp' ) . '</p>';
        return;
    }

    // Ordena por fecha (más recientes primero)
    usort( $all_items, function ( $a, $b ) {
        return $b['date'] - $a['date'];
    } );

    // Limita al máximo configurado
    $all_items = array_slice( $all_items, 0, $max_items );

    echo '<div class="rss-widget"><ul>';

    foreach ( $all_items as $item ) {
        printf(
            '<li><a href="%s" target="_blank" rel="noopener">%s</a> <span class="rss-date">%s</span> <cite>%s</cite></li>',
            esc_url( $item['link'] ),
            esc_html( $item['title'] ),
            esc_html( date_i18n( get_option( 'date_format' ), $item['date'] ) ),
            esc_html( $item['source'] )
        );
    }

    echo '</ul></div>';
}

[imagen del widget de noticias personalizado en el escritorio de WordPress]

Este código hace tres cosas:

  1. Quita el widget de noticias de WordPress por defecto
  2. Añade uno nuevo con los feeds RSS que tú elijas
  3. Los muestra ordenados por fecha.

Lo que tienes que tocar está al principio de la función ayudawp_custom_news_widget_output(), el array $feeds con las URLs y nombres de tus feeds, $items_per_feed para cuántos elementos quieres de cada feed, y $max_items para el total que se muestra en el widget. También puedes cambiar el título del widget en la línea de wp_add_dashboard_widget().

A diferencia del wp_widget_rss_output() que trae WordPress de serie, este código añade varios feeds y los mezcla ordenados por fecha, así ves las noticias más recientes de todas tus fuentes juntas.

Si quieres volver a mostrar el widget original de WordPress, solo tienes que quitar la línea del remove_meta_box().

Opción completa: plugin

Si necesitas más control, o si gestionas sitios para clientes y quieres que el escritorio muestre información útil sin tocar código, el plugin Periscopio te lo pone fácil.

Es un plugin gratuito que sustituye el widget de noticias por defecto por uno totalmente configurable desde una página de ajustes. Lo que te ofrece resumido, es esto:

  • Feeds RSS ilimitados, con validación de URL antes de añadirlos y ordenados por fecha.
  • Sección de eventos de la comunidad WordPress con localidad personalizable (los saca de la API de WordPress.org).
  • Enlaces configurables en el pie del widget, tanto en la sección de eventos como en la de noticias.
  • Título del widget editable.
  • Caché configurable (de 1 a 72 horas) con opción de vaciarla manualmente.
  • Posibilidad de ocultar el widget original de WordPress o dejarlo junto al tuyo.

Instalación y configuración

Lo instalas como cualquier otro plugin desde el directorio de WordPress.org. Una vez activado, ve a Ajustes > Periscopio y ahí tienes todo.

periscopio wordpress ajustes

La página de ajustes está dividida en secciones al estilo clásico de WordPress. En la parte de feeds puedes añadir las URLs que quieras, y el plugin las valida antes de guardarlas para evitar errores.

También puedes configurar cuántos elementos quieres por feed y el máximo total.

Periscopio viene con cinco feeds preconfigurados (WordPress.org, el blog de Matt Mullenweg, Make WordPress, WordPress España y Ayuda WordPress), pero puedes cambiarlos todos desde el minuto cero.

¿Qué tal queda?

widget escritorio wordpress noticias personalizadas

El widget queda integrado con el estilo nativo de WordPress, así que no desentona, pero con algún detalle que, aunque está mal que lo diga yo, mejora al widget que trae WordPress por defecto.

Los eventos aparecen arriba con información de WordCamps y quedadas cercanas a tu localidad, que puedes modificar, y debajo las noticias de tus feeds mezcladas y ordenadas por fecha.

¿Cuándo usar cada opción?

Si es para ti, para un proyecto concreto o simplemente quieres un par de feeds sin complicarte, el código te vale de sobra.

Si gestionas varios sitios, trabajas con clientes o necesitas la parte de eventos y una gestión de feeds más cómoda (con validación, caché y ajustes visuales), Periscopio te ahorra tiempo y te ofrece mucha más personalización a golpe de clic.


Para seguir enredando con códigos de este tipo relacionados con el mismo asunto, con los widgets de escritorio, también puedes probar como crear widgets de escritorio con contenido propio (no RSS) o añadir un formulario de soporte para tus clientes, tienes más ideas en el blog.

Y si lo que quieres es directamente limpiar el escritorio de cajas que no uses, también puedes hacerlo con un par de líneas de código.

Compartir en redes
Resumir con IA

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en las estrellas para valorarlo!

Promedio de puntuación 4.8 / 5. Total de votos: 5

¡Todavía no hay votos! Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!



Sobre el autor

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio