Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Creative Coding

Cómo crear un sitio sindicador de RSS usando WordPress

by
Read Time:7 minsLanguages:

Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)

En este tutorial, explicaré cómo crear un sindicador, o sitio de ping, usando la funcionalidad de WordPress. Esta función puede ser útil para los propietarios que desean crear un directorio de artículos que permitirá a sus usuarios enviar artículos a su sitio web utilizando RSS. Para proporcionar una visión general sobre qué aspecto podría tener un sitio de este tipo, he configurado para este tutorial un sitio RSS de demostración. Ahora, empecemos.


Paso 1 Configurar un marcador de posición para el feed

En primer lugar tenemos que configurar un lugar donde los usuarios puedan añadir sus feeds RSS. Al principio pensé que usar la sección prexistente de perfil de usuario del propio WordPress sería suficiente, pero si queremos permitir múltiples envíos web, podría ser problemático. Configuraremos un nuevo tipo de entrada personalizada para controlar la dirección url del feed RSS del usuario. Puedes obtener más información sobre los tipos de entradas personalizadas leyendo el artículo Clase de ayuda sobre los tipos de entradas personalizadas.

Para el tipo de entrada personalizada solo necesitaremos 2 campos, uno para el título y otro para añadir la url (yo utilizo la columna del extracto para mantener todo simple)

Guarda el siguiente código en el nuevo archivo (rss_feed_functions.php) y cárgalo en la siguiente carpeta /wp-content/mu-plugins/. La función se cargará sin necesidad de activarla como sí sería necesario en el caso de un plugin estándar.


Paso 2 Configurar la página personalizada para el envío de feeds RSS

Después de haber configurado nuestro tipo de entrada personalizada para sustentar la url del RSS, necesitamos configurar una página en la cual un usuario pueda enviar su url. La siguiente función creará un formulario que puedes incluir en cualquier página utilizando el shortcode que definiremos en el código.

Necesitamos un campo de entrada para permitir que un usuario añada un título y una url para el RSS.

Después, tenemos que manejar el formulario una vez que haya sido enviado. El siguiente código nos permitirá preparar la consulta para insertar los datos en nuestro sitio web.

Pero antes de insertar todos los datos que recibimos a través del formulario, nos gustaría validar primero la url del feed y el título. Para validar fácilmente la url del feed, usaremos la siguiente función de WordPress para comprobar que esta devuelve un contenido válido.

Si todo funciona bien, insertamos los datos del feed en la base de datos. La función completa con funcionalidad de shortcode se verá como el código que se muestra a continuación, podemos añadir la función completa a nuestro archivo rss_feed_functions.php.

Ahora podemos usar el shortcode [rss_form_submit] en cualquiera de nuestras páginas y puedes diseñar el formulario de manera que se ajuste al diseño de tu sitio web. Es posible que desees permitir que solo un usuario registrado pueda ver y usar esa página.


Paso 3 Envío de artículos a través de la url del feed

Como ya tenemos la URL del feed en nuestra base de datos, a continuación queremos procesar el artículo que los usuarios quieren enviar a nuestro sitio de ping. Para esto necesitaremos una nueva página, y para garantizar que la función se pueda utilizar en cualquier tema, para el envío del artículo usaremos el mismo enfoque que usamos para el envío de la url del feed, usando una función con shortcode.

En primer lugar, necesitamos leer el feed del usuario actual.

Si se encuentra el feed RSS, podemos iniciar el bucle de la url del feed y obtener de él el artículo más reciente.

Ahora ya tenemos el primer artículo que se insertará en nuestro sitio web. Antes de continuar y añadirlo a la base de datos, lo más conveniente es comprobar primero si el artículo ya existe en nuestro sitio web. Comprobaremos si ya existe el título del elemento del feed, se trata de un simple método básico, puedes consultar más atributos para asegurarte de que no haya ningún artículo duplicado en la base de datos.

Ahora podemos procesar los datos que obtenemos del feed en nuestra base de datos. Para que sea fácil para nuestro usuario, incluiremos el formulario de envío directamente después de buscar y comprobar la url.

En el ejemplo, procesamos el título, el contenido, los enlaces permanentes y la fecha en la que se insertarán en nuestra base de datos. Los usuarios verán el título y el botón de enviar tal y como puedes ver en siguiente captura de pantalla.

El último paso que tenemos que llevar a cabo, consiste en insertar los datos en la base de datos. Preparamos la instrucción antes de ejecutar la consulta.

Procesaremos estos detalles primero antes de insertar los datos adicionales en nuestro metabox personalizado.

Ahora todos los datos del artículo se insertan correctamente en la base de datos. Ahora tenemos un sindicador o sitio de ping listo para su uso. Hay más posibilidades que puedes añadir para mejorar la calidad de tu sitio de ping, esto ha sido una simple introducción.


Conclusión

He incluido el código fuente completo (enlace en la parte superior de este artículo) que utilizo en el sitio RSS de demostración. Si tienes alguna sugerencia o mejoras para este tutorial, estoy deseando leer tus ideas y sugerencias en los comentarios que vienen a continuación.

Advertisement
Did you find this post useful?
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.