Como hacer una pagina de archivos por categoria en wordpress

Hago esto a pedido de lavidalinux. Una pagina de archivos por categoria seria algo asi http://paraisolinux.com/categorias. O sea una lista con post ordenados por categorias en wordpress.

No encontre plugins que lo hicieran y por eso me di a la tarea de buscar como hacerlo con codigo. Son varios pasos pero sencillos para aquellos que ya han usado templates en wordpress. Y los que no aprovechen para practicar.

Paso 1: Crear un archivo llamado archivocat.php en tu pc

Paso 2: dentro del archivo colocar el siguiente codigo para que sea identificado como un template por wordpress.

<?php
/*
Template name: Indice por Categoria
*/
?>

Paso 3: abrir el archivo single.php de tu theme actual y copiar la estructura basica del mismo, esa estructura copiarla a continuacion del lo que ya teniamos en el archivocat.php. En mi caso y en la mayoria de los casos queda algo asi:

<?php get_header(); ?>
<div id="content">
<div <?php post_class('post'); ?>>
<div class="post-title">
<h1 class="title"><?php the_title(); ?></h1>
<div class="clear"></div>
</div>
<div class="entry">

<!-- AQUI COLOCAMOS EL CODIGO IMPORTANTE-->

</div>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Paso 4: Colocar el siguiente codigo en donde dice AQUI COLOCAMOS EL CODIGO IMPORTANTE

<?php $cats = get_categories("hierarchical=0"); ?>

				<?php if($cats != NULL) { ?>
				<ul>
					<?php foreach ($cats as $cat) { ?>
						<li>
							<?php if($cat != NULL) { $base_url = get_bloginfo('home') . "/category/" . $cat->slug; ?>
							<h3><a href="<?php echo $base_url?>"><?php echo $cat->cat_name?></a></h3>
							<?php } ?>

							<?php // Show category description if ($cat->category_description != NULL) ?>
							<p><?php echo $cat->category_description ?></p>

							<?php $myposts = get_posts("numberposts=-1&category=$cat->cat_ID"); ?>
							<ul>
							<?php foreach($myposts as $post) : ?>
								<li><?php the_time('M d') ?>. <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
							<?php endforeach; ?>
							</ul>
						</li>
					<?php } ?>
				</ul>
				<?php } ?>

Paso 5: El codigo anterior muestra todos los post por cada categoria. Si quieren mostrar solo 10 post por categoria deben cambiar la linea que dice

<?php $myposts = get_posts("numberposts=-1&category=$cat->cat_ID"); ?> 

por

<?php $myposts = get_posts("numberposts=10&category=$cat->cat_ID"); ?> 

Paso 6: Subir el archivo a la carpeta del theme de su blog.

Paso 7: Crear una nueva pagina en su blog y en la parte derecha donde dice ‘Plantilla’ elijan ‘Indice por Categoria’. Publiquen la pagina.

Eso es todo, con eso ya deberian tener una pagina con sus post ordenados por categoria. Si notan que la pagina tiene algun problema en su visualizacion como que falta algun sidebar o algo asi entonces es porque no han hecho correctamente el paso 3. Cualquier duda me preguntan Como hacer una pagina de archivos por categoria en wordpress

Actualizacion: les dejo un archivocat.php para que se guien.

Suscribete GRATIS!
Recibe las novedades de Paraiso Linux en tu email

About perro

Casi Ingeniero en Informática. Programador en PHP y KumbiaPHP. Lo que mas adoro en el mundo es el conocimiento. Y el anime....y Japon...y el basketball...y bloguear claro. Aun sigo buscando la manera de hacer mi primer millon :)
Categorias wordpress
Tags , , .
  • http://www.fb91.com.ar/blog Fabricio

    Lo voy a probar un día de estos!

    yo tengo una página dentro del blog “Indice de tutoriales” y es un garrón actualizarla a mano :lol:

    • http://blogjapon.com.ar perro

      Entiendo….creo que lo se puede solucionar haciendo una pagina solo para una categoria o solo para un tag usando la mayor parte del codigo que puse arriba.
      Si tienes problemas….sabes mi cuenta en twitter :wink:

  • teatroycyne

    para aser noticiasi versidad de cosa

  • http://lavidalinux.com.ar La vida Linux

    Después de un tiempo, intenté una vez más sin éxito. La página me aparece en blanco y el listado en cualquier parte del blog, footer, cuerpo de la entrada, bajo el header; sí, ya se que indicaste debajo de , pero cuando lo coloco ahí no aparece nada. :help:

  • SnocK

    :up: Justo lo que estaba buscando , gracias.

    • http://blogjapon.com.ar perro

      Si tienes problemas me avisas :)

  • http://lavidalinux.com.ar La vida Linux

    Bien, sólo quiero acotar que desde hace un tiempo anda perfecto el truco en mi blog. Luego de una manito de su creador. xD! :P

    • http://blogjapon.com.ar perro

      :) sabes que siempre puedes contar conmigo

      • http://lavidalinux.com.ar La vida Linux

        Muchas gracias.

  • Pingback: Hacer una página de archivos por categorías [Wordpress] | Beat Geek

  • http://www.freetux.co.cc Javier

    Gracias amigo, me salio bien y al primer intento!
    :up: :up: :up:

  • oliver

    Hola, me sirvio mucho, quisiera saber si se puede modificar para solo mostrar algunas categorias, no todas las de mi blog, solo las que yo le indique

    gracias

  • http://portaltodo.net rober ll quiroz

    :up: gracias por todo me sirvio de mucho pues en los sitios confunden este tutorial con el sitemaps xml de google son dos cosas muy diferentes ahora en wordpress 3 no todos los single.php son iguales pero solo es cuestion de revisarlo e ir provando si es que queda bien el mapa de sitio… ah por cierto mi theme es modern-style el cual e modificado a mi gusto…
    http://portaltodo.net/mapa-del-sitio/

  • http://www.universomusical.tk Bruno

    Che genial es lo que estaba buscando, pero ahora lo que quisiera saber es si se puede colocar solo las entradas de la categoria que yo deseo¿?
    y otra cosa es si se puede hacer para que la entrada se vea o es solo se ven tipo los titulos¿?
    desde ya gracias
    Bruno

  • http://www.mospintoles.com/ Mirlitón

    Saludos y muchas gracias. Nosotros hemos adaptado el código y hemos extraído una página para cada categoría (en nuestro caso las categorías se corresponden con personajes de nuestros cuentos). Luego hemos personalizado la presentación. Pero sin tu código no hubiéramos sabido como hacerlo (por si quieres ver como lo hemos implementado, encontrarás un enlace a estas páginas —plantillas en realidad— entrando en cada perfil, en la cabecera de nuestra bitácora).

    Quedamos muy agradecidos.

    • Finalopez

       Hola misliton eso mismo es lo que quiero hacer yo pero no se como si pudieras ayudarme te lo agradeceria enormemente,puedes escribirme a finalopez@live.com

  • http://www.themetalmonkeys.com poteirard

    Saludos,

    Es la primera vez que entro en este blog y creo que lo añadiré a favoritos, es muuuy interessante y estoy aprendiendo mucho.

    Yo no tengo ni idea de PHP sé algo de Java debido a los estudios (programacion informatica)….

    El caso es que como mi blog es de música (CD’s concretamente), me gustaría poner al lado de cada post ordenado una imagen con la portada del CD que incluye el post.

    Supongo que seria modificando la linia:

    . <a href="”>

    Però como ya te he dicho, no tengo ni idea de PHP.

    Alguna idea?

    • http://blogjapon.com.ar perro

      De poder, se puede. Pero yo no se como, tengo poca experiencia trabajando con las imagenes dentro de los post

  • Hanmdq

    Excelente idea, y para filtrar algunas categorias cambie esta linea:

    por esta:

    Gracias!

  • Hanmdq

    Excelente idea, y para filtrar algunas categorias cambie esta linea:

    “”

    por esta:

    “”

    Gracias!

  • Luisito1420

    y si uno quiere que se pagina no solo que se muestren 10 si no que se muestren 10 y su paginador

  • Pingback: Como hacer una pagina de archivos por categoria en wordpress » Notas Tecnicas

  • http://www.facebook.com/SarcoTurcios Celvin Turcios

    amigo cuando te refieres a la estructura del archivo single.php  explicame bien si ya abri el archivo pero no tengo ni idea de lo  de hacer el paso 3. no se nada de php 
    gracias espero una mejor explicacion

    • Anónimo

      Es imposible explicarlo mejor que en el post. Prueba copiando exactamente lo mismo que tengo yo