Imagen FeedIdeas Geek - Una Ideología Geek | Como hacer para salir a caminar con un geek

Publicado por zzamov | 21 Abril 2008

Crear Feed RSS para categorías

Por una petición en el foro he estudiado un poco y pasados los días publico el resultado manteniendo la cesión de los derechos y los izquierdos. :)

Básicamente está todo ya hecho para mostrar otros feed en el archivo wp-includes/feed-rss.php vamos a utilizarle como plantilla añadiendo el siguiente código en la primera línea:

PHP:
  1. <?php
  2. /*
  3. Template Name:PruebaRSS
  4. */
  5. ?>

Yo llamo a la plantilla PruebaRSS pero se la puede llamar de cualquier forma y renombro el archivo a page0.php pero puede llamarse de cualquier forma compatible con el tema que se use. Se puede subir el archivo a la carpeta del tema y editarlo desde el editor de temas o continuar modificando y después subir el archivo acabado.

Empieza lo divertido. Está pensado para poder configurar la categoría y el número de entradas que quieres.

El primer loop para coger las variables que se pondrán en la página irá colocado después de <?php do_action('rss_head'); ?> y es así:

PHP:
  1. <?php while (have_posts()) : the_post(); ?>
  2. <?php
  3. $CamposPersonales = get_post_custom();
  4.     $zcaterss = $CamposPersonales['Categoria_RSS'];
  5.     $zcuanrss = $CamposPersonales['CuantosPorCategoriaRSS'];
  6.     $zquery = “cat=$zcaterss[0]& showposts=$zcuanrss[0]“;
  7. ?>
  8. <?php endwhile; ?>

Las nombres de las variables son cambiables.

Ahora vamos a el código del loop que genera lo visible y que ya está en el archivo wp-includes/feed-rss.php excepto en la primera línea query_posts($zquery);

PHP:
  1. <?php query_posts($zquery); while (have_posts()) : the_post(); ?>
  2. <item>
  3. <title><?php the_title_rss() ?></title>
  4. <?php if (get_option(‘rss_use_excerpt’)) { ?>
  5. <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
  6. <?php } else { // use content ?>
  7. <description><?php the_content_rss(”, 0, ”, get_option(‘rss_excerpt_length’)) ?></description>
  8. <?php } ?>
  9. <link><?php the_permalink_rss() ?></link>
  10. <?php do_action(‘rss_item’); ?>
  11. </item>
  12. <?php endwhile; ?>

Guardar los cambios y subir el archivo a la carpeta del tema wp-content/themes/default/ si no lo hemos hecho antes.

Por fin vamos a crear una página o las que hagan falta. El título el que quieras teniendo en cuenta que irá en el feed, yo lo llamé también PruebaRSS pero lo suyo sería "Feed de NOMBRE_DE_LA_CATEGORIA".Si los permalink no son los que vienen por defecto también puedes elegir el que quieras.

Campos personalizados Key Categoria_RSS y CuantosPorCategoriaRSS o los que figuren en el primer loop y values en el primero el ID de la categoría y en el segundo las entradas que se mostrarán. Para saber el ID de la categoría puedes ir a la gestión de las categorías y viendo el enlace de ellas será como http://www.ejemplo.com/wp-admin/categories.php?action=edit&cat_ID=4

Y como plantilla o Page Template utilizar la que hemos creado antes en mi caso PruebaRSS.

Una imagen vale más que ...

Editar tema RSSCategoriaseditar tema RSSCategoriascrear pagina RSS categorias

También te puede interesar:

4 comentarios | Escribe un comentario

  1. Sanda (2 comentarios) - 19/08/2008 a las 19:59

    Hola, he realizado los pasos como indicas, y cuando he creado la página y he ido a verla, me dice que hay un error en la línea del segundo recuadro que dice :
    $zquery = “cat=$zcaterss[0]& showposts=$zcuanrss[0]“;

    la he suprimido (no sé si he hecho bien), el caso es que ahora no me da el error ahí, pero sí en el final del fichero, como si me hubiese dejado alguna etiqueta abierta (no he añadido nada más de lo que pones aquí).

    He dejado en el blog la página “pruebarss” por si lo quieres comprobar.n
    ¿Qué puede ser? Mi tema es mandingo por si ello imfluye

  2. Fernando Tellado (927 comentarios) - 19/08/2008 a las 20:23

    Bueno, aparte de que el código no está bien en el comentario, prueba a cambiar las comillas, por lo que veo no son las que usa WP.

    El theme no influye salvo que lo pongas donde no debas.

  3. Sanda (2 comentarios) - 19/08/2008 a las 20:41

    Suelo utilizar el dreamweaver como editor (reminiscencias de mis anteriores páginas estáticas). Pero lo he vuelto a hacer con el editor de wp y me sigue dando el error en la línea 33, y si la elimino me lo da en el final.

    Te pongo el código a ver si dás con la tecla. Gracias Fernaado por tu paciencia

    < ?php echo ”; ?>

    http://backend.userland.com/rss092

    < ![CDATA[]]>

  4. Fernando Tellado (927 comentarios) - 19/08/2008 a las 20:45

    Sanda, aquí no se muestran los códigos, mejor pásate por el foro y lo metes en un “code” ;)

Escribe un comentario




XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

LO ÚLTIMO EN LOS FOROS

Loading...