Mostrar todos los post wordpress en una página

Un problema en blogs con muchos artículos es encontrar contenido que has publicado hace tiempo.

Mas allá de que los usuarios usen el buscador de wordpress, que funciona bastante bien, voy a explicar como crear una página que contenga un listado de todos los post que se han publicado en mi blog. Tengo un ejemplo real en http://www.pedroventura.com/blog_programacion/historico-articulos/

Lo primero será crear una página en wordpress, si no tenéis mucha idea lo primero será que os leáis el siguiente artículo antes de empezar :  Crear y usar plantillas para páginas de wordpress

Para crear nuestra página con el listado de los post o artículos  crear en /wp-content/themes/TU_TEMA/page-archive.php con el siguiente código:


<?php
/*
Template Name: Archives
*/
?>

<?php get_header(); ?>
<?php get_sidebar(); ?>

<?php
$numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish'");
if (0 < $numposts) $numposts = number_format($numposts);
?>

<h2>Historial de Artículos</h2>
<p>A continuación muestro un listado con todos los post publicados hasta la fecha.</p>

 <ul id="archive-list">
 <?php
 $myposts = get_posts('numberposts=-1&');
 foreach($myposts as $post) : ?>
 <li><?php the_time('m/d/y') ?>: <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
 <?php endforeach; ?>
 </ul>

<?php get_footer(); ?>

Lo primero que hay que hacer para crear el template de la página. Un nuevo template se crea añadiendo las siguientes lineas al inicio del fichero.

<?php
/*
Template Name: Archives
*/
?>

Sólo faltaría que crearais la página en el panel de wordpress y le asignarais el nuevo template que se acaba de crear.

Páginas -> Añadir nuevo -> Atributos -> Plantilla

Tendréis una bonita página con todo el listado de post que se han ido creando.

Listado artículos (Pulsar para ver a mayo tamaño)

Tags de búsquedas:

pagina de posts wordpress,crear Historial de post en wordpress,wp mostrar todosls post,todas las paginas en el footer de wordpress aparecen en una sola,sidebar todos los post,sacar post wordpress,postear en una pagina worpress,post se descuadra wordpress,post pagina principal wordpress,poner post en pagina,plugin mostrar post en paginas wordpress,pagina que contenga post,pagina principal wordpress indice,todos los post de todas las categorias wordpress,ver todos los posts wordpress

Noticias relacionadas »

18 comentarios en Mostrar todos los post wordpress en una página

  1. emiliano
    / Responder

    HOLA HAY ALGUNA FORMA O ALGUN PLUGIN PARA QUE EN VEZ DE MOSTRAR MIS POST MUESTRE LOS QUE LOS USUARIOS REGISTRADOS PUEDEN HACER Y QUE ELLOS SOLO VEAN LOS SUYOS ? MUCHAS GRACIAS

  2. / Responder

    Me has ayudado mucho, gracias funcciona perfectamente.

  3. Pingback: Anónimo

  4. / Responder

    Muchas gracias, andaba buscando algo así, muy útil

  5. fjquesada
    / Responder

    Hola muchas gracias por la explicación, tengo un problema que no se como solucionar, te agradecería tu ayuda.
    En la nueva página me aparecen los post abajo del todo y se me descuadra el tema, te la dejo para que le eches un vistazo.
    Gracias de antemano.

    http://oleomarketing.com/archivos

  6. Luis
    / Responder

    Me ayudaste mucho 🙂

  7. Pilar
    / Responder

    Hola, excelente tutorial! Necesesitaría saber si al lista de post, se le puede agregar, además de la fecha y el título el extracto o el contenido del post…

  8. / Responder

    Quisiera que me dijeran como añadir una nueva entrada y que me quede debajo de todas las que ya estan. Gracias!

  9. Kelvin
    / Responder

    Hola me gustaria saber como hiciste para imprimir todos los post con navegacion en tu página http://www.pedroventura.com/blog_programacion/ quiero hacer algo similar sobre una página que ya está hecha pero no encuentro como y soy nuevo en wordpress, gracias

  10. snake
    / Responder

    hola intento condicionar una pagina que use para listar post, y no funciona, intente con is_page y con is_page_template, imagino que no la reconoce, tambien vale aclarar que cuando entro a la pagina en la barra de administracion no aparece editar página y cuando agrego en el php que me liste los post de x categoría en la barra de administracion me aparece editar categoria . o.O

  11. Javi
    / Responder

    Buenas.
    Quería hacer esto mismo pero ordenar los posts por el título en vez de por fecha.
    Sabríais decirme donde tengo que meter el order?

    • Pedro Ventura
      / Responder

      donde pone:

       $myposts = get_posts('numberposts=-1&');
      

      Sustitúyelo por

      query_posts( array( 'post_status' => array( 'publish' ) ),  'orderby' => 'title', 'order' => 'DESC' ) );
      
  12. Diego
    / Responder

    Te comentare que encontre una mejor manera de hacerlo, lo que hice fue limitar las entradas en mi home a 5 y como puedo meter ilimitadas entradas al home, entonces solo se verann 5 pero en el historial se vera todo el hisotrial de post, solo agrege esta linea:

    comente esta linea:

    apra agregar esto :

    have_posts()) : $resumen->the_post(); ?>

    si me salio, chequea yme avizas nos vemos.

  13. Diego
    / Responder

    perdon el siguiente codigo:

    get_var(“SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = ‘publish’ and ‘post_status’ = ‘draft'”);
    if (0
    Historial
    A continuacion muestro un listado con todas entradas publicadas hasta la fecha

    : <a href="”>

    • Pedro Ventura
      / Responder

      Buenas Diego,

      La query que te dije en mi anterior comentario no es lo que hay que tocar, me he equivocado, la puedes dejar tal cual estaba, el tema es usar la funcion query_posts()

      He estado mirando la documentación de Wordpres, lo que tendrías que tocar es la siguiente linea

      $myposts = get_posts('numberposts=-1&'); 
      

      y cambiarla por esto

      $myposts = query_posts( array( 'post_status' => array( 'publish', 'draft', 'future' ) ) ); 
      

      Pero no se porque no esta funcionando, puedes mirar tu mismo la docu de wordpress http://codex.wordpress.org/Function_Reference/query_posts

      Lo que he hecho es sacar dos arrays uno con los publicados y otro con los borradores y los he unido de la siguiente manera

      $myposts_publicados = get_posts('numberposts=-1&');
      $myposts_borrador = query_posts( 'post_status=draft' );
      $myposts = array_merge($myposts_borrador,$myposts_publicados);        
      

      Si te sale o encuentras una forma mejor de sacar los post publicados y los borradores a la vez comentamelo, plz

      Un saludo!

  14. Diego
    / Responder

    Hola, ya probe tu esta genial pero hay un problema que en ese historico solo aparecen los que eh publicado en el home pero yo quiero que tambien aparescan los que mande a borrador, osea los que deje de publicar en mi entrada, como hacer?

    • Pedro Ventura
      / Responder

      Buenas, pues para eso tienes que modificar la sql que aparece en el ejemplo

      SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish'
      

      por la siguiente

      SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' and 'post_status' = 'draft'
      
      • Diego
        / Responder

        Hola que tal , puse lo que me dijiste y bueno tal como aparece en el siguiente codigho:

        get_var(“SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = ‘publish’ and ‘post_status’ = ‘draft'”);
        if (0
        Historial
        A continuacion muestro un listado con todas entradas publicadas hasta la fecha

        : <a href="”>

        pero sigue pasando lo mismo sigue apareciendo solo las entradas que publico.

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

  • marcelino (3 días)
    Os dejo un grupo donde opera uno de los trader…
  • Pedro Ventura (2 semanas)
    Hola Pablo, Creo que puedes configurar los códigos de adsense…
  • Pedro Ventura (2 semanas)
    Buenas, El proveedor cierra facturación el día 10 de cada…
  • pedro (4 semanas)
    Hola pero este sitio paga o no paga , ya…
  • Pedro (1 mes)
    Buenos días Margherita El plugin está obsoleto y ya no…
  • Juan Carlos Díaz (1 mes)
    Este grupo de Telegram me ha dado muy buenas señales…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Archivo »

Leer entrada anterior
plugin cache en wordpress. Mejora la velocidad de tu blog… y el SEO

Desde hace unas semanas que he empezado a usar un plugin de cache en wordpress, se llama Quick Cache. Es...

Cerrar