multiple-rss-feeds-featured

Cómo crear fuentes RSS personalizadas en WordPress

¿Qué es mejor que una fuente RSS? Fuentes RSS personalizadas, por supuesto! Mucha gente ha predicho la muerte de esta tecnología compartida durante eones, pero aún se mantiene fuerte.

Las estadísticas muestran que más de 2000 de los 10 000 sitios web más importantes del mundo publican feeds RSS religiosamente. Feedly, un popular servicio de agregación de fuentes RSS, aumentó su base de suscriptores en un 900 % en dos años y sus ingresos en más del 400 %.

Es posible que le interese brindar a sus visitantes una experiencia de usuario personalizada más allá de su fuente RSS predeterminada de WordPress. Exploremos cómo personalizar sus feeds para que se adapten a su sitio web y audiencia.

Haga una copia de seguridad de su sitio web

Irás al back-end de tu sitio web, así que haz una copia de seguridad de tu sitio. Si algo se rompe, aún tendrá su sitio web, contenido y configuración intactos. ¡No descuides este paso, pase lo que pase!

Además, crearemos un nuevo archivo de plantilla para su tema de WordPress, por lo que es posible que desee cambiar o crear un tema secundario para no estropear su tema existente.

Creación de fuentes RSS personalizadas en WordPress

Para comenzar, trabajaremos con el archivo «functions.php» en la carpeta de su tema. Ábrelo y pega el siguiente código:

/* This code initializes the custom RSS Feeds for your website*/
add_action( 'init', 'MyCustomRSS' );
function MyCustomRSS(){
   add_feed( 'mycustomfeedname', 'MyCustomFeedCallback' );
}
 
/* This code seeks the template for your RSS feed */
function MyCustomFeedCallback(){
    get_template_part( 'rss', 'mycustomfeedname' ); // need to be in small case.
}

Tenga en cuenta la sección que le pide que escriba el nombre de su fuente RSS personalizada. Mantenga este nombre simple para que pueda recordarlo fácilmente a medida que forma la URL del feed de su sitio web. por ejemplo, «https://yoursite.com/feed/mycustomfeedname».

Nota: El nombre de su fuente RSS personalizada solo puede estar en minúsculas.

Crear una plantilla de fuentes RSS personalizada

La plantilla de fuente RSS personalizada es la información que su fuente necesitará para servir su fuente. Piense en ello como un tipo de función HTML/CSS para su feed. Para hacer esto, debe crear otro archivo con un nombre único. Este nombre DEBE seguir la convención: «rss-mycustomfeedname.php».

Guarde este archivo en la carpeta de temas de su hijo. Ahora abre este archivo y pega el siguiente código:

<?php
/**
* Template Name: Custom RSS Template - YourCustomFeedName
*/
$postCount = 10; // The number of posts to show in the feed
$postType = 'post'; // post type to display in the feed
query_posts( array( 'post_type' => $postType, 'showposts' => $postCount ) ); 
$charset = get_option( 'blog_charset' );
header( 'Content-Type: ' . feed_content_type( 'rss-http' ) . '; charset=" . $charset, true );
?><?xml version="1.0" encoding="<?php echo $charset; ?>"?>
<rss version="2.0" 
xmlns:content="https://purl.org/rss/1.0/modules/content/" 
xmlns:wfw="https://wellformedweb.org/CommentAPI/" 
xmlns:dc="https://purl.org/dc/elements/1.1/" 
xmlns:atom="https://www.w3.org/2005/Atom" 
xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" 
xmlns:slash="https://purl.org/rss/1.0/modules/slash/" 
<?php do_action("rss2_ns'); ?>>
<channel>
<title><?php bloginfo_rss( 'name' ); ?> - Feed</title>
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
<link><?php bloginfo_rss('url'); ?></link>
<description><?php bloginfo_rss('description'); ?></description>
<lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
<language><?php echo get_option('rss_language'); ?></language>
<sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
<sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
<?php do_action('rss2_head'); ?>
<?php while(have_posts()) : the_post(); ?>
<item>
<title><?php the_title_rss(); ?></title>
<link><?php the_permalink_rss(); ?></link>
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
<dc:creator><?php the_author(); ?></dc:creator>
<guid isPermaLink="false"><?php the_guid(); ?></guid>
<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
<content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
<?php rss_enclosure(); ?>
<?php do_action('rss2_item'); ?>
</item>
<?php endwhile; ?>
</channel>
</rss>
 
<?php // Reset Query
wp_reset_query();

Puede modificar este archivo para mostrar tantas publicaciones como desee. Utilizar el $postCount variable para cambiar el número de publicaciones a mostrar. El valor predeterminado muestra «Publicaciones», pero puede cambiarlo para mostrar un tipo de publicación diferente cambiando el $postType variable. La función de extractos también mostrará extractos de sus publicaciones. Si su publicación no tiene extractos, mostrará las primeras 120 palabras del artículo.

Agregar funcionalidad a las fuentes RSS personalizadas

Ahora que tiene una plantilla funcional, puede agregarle elementos adicionales.

Mostrar miniatura de publicación en feeds

Si desea incluir miniaturas de publicaciones en su feed, copie y pegue el siguiente código en la parte inferior de su archivo «functions.php».

Si su publicación tiene una imagen en miniatura, esta función la buscará y la publicará junto con el texto de su feed. Si no tiene ninguna imagen, entonces no hace nada.

/*This code adds thumbnail feature to your custom feed*/
add_action( 'rss2_item', 'custom_thumbnail_tag' );
function custom_thumbnail_tag() {
    global $post;
 
    if ( has_post_thumbnail( $post->ID ) ) {
        $thumbnail = get_attachment_link( get_post_thumbnail_id( $post->ID ) );
        echo("<image>{$thumbnail}</image>");
    }
}

Establecer idioma de alimentación

A veces, es posible que deba declarar el idioma de su feed personalizado para que funcione.

Haz esto usando este código en tu archivo “functions.php”:

function myFeedLanguage(){
    update_option( 'rss_language', 'en' );
}
add_action( 'admin_init', 'myFeedLanguage' );

Esto configurará su idioma a inglés. Si tiene la intención de cambiarlo a otro idioma, edite el en en el código de función a su idioma preferido. Obtenga una lista de todos los códigos de idioma de este enlace.

Haz que tu feed personalizado funcione

Para que su fuente RSS personalizada funcione, debe aplicar un lavado de reescritura a su sistema de WordPress. Todo lo que necesita hacer es ir a «Configuración -> Enlaces permanentes» y hacer clic en «Guardar cambios».

Terminando

Una fuente RSS personalizada es una excelente manera de mostrar su contenido a las personas que pueden no tener suficiente conectividad para acceder a su sitio web completo. También ayuda a nuevas audiencias a descubrirlo a través de aplicaciones de fuentes RSS en Android e iOS. Absolutamente deberías intentarlo.

Credito de imagen: Colores unidos de fuentes

Experto Geek - Tu Guía en Tendencias Tecnológicas