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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?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.
1
2
3
4
5
<?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.
[caption id=”attachment_1642” align=”aligncenter” width=”300” caption=”Listado artículos (Pulsar para ver a mayo tamaño)”][/caption]