icon mail

WordPress: mostrar todos los post en una página por dia, semana, mes, año

junio 24, 2015

Poder listar todas las entradas que tenemos a veces es muy necesario para poder hacer una especie de indice para que nuestros usuarios puedan ver en el orden que tu definas, ya sea de forma descendente o ascendente.
Esta función que utilizaremos para poder mostrar una lista de archivos basado en la fecha es wp_get_archives(), este método recibe un array, lo cual podemos ponerlo en nuestros archivo function o también en la misma parte donde quieres obtener tus post (entradas).

<?php $args = array(
	'type'            => 'postbypost',
	'limit'           => '20',
	'format'          => 'html',
	'before'          => '',
	'after'           => '',
	'show_post_count' => false,
	'echo'            => 1,
	'order'           => 'DESC'
); ?>

Explicando el código: como puedes ver, hemos declarado una variable llamada $args esta recibe un array con los siguiente valores que explico a continuación.
type: a este le puedes asignar los siguiente parámetros para que puedas obtener los post.
– yearly (anual)
– monthly (mensual)
– daily (diario)
– weekly (semanal)
– postbypost (entradas ordenadas por fecha)
– alpha (entradas ordenadas alfabéticamente)


 

limit: acá puedes asignarle la cantidad de post deseas obtener (en números), si lo dejas en blanco obtendrá todos.


 

format: esta es la parte de elegir el formato en cual se mostraran, paso a detallarlo.
– html (listara en etiquetas <li> y tiene que estar dentro de un <ul> o <ol>)
– option (tienes que colocar un <select> cuando llames al método, como contenedor.)
– link (listara dentro de link)
-custom (listara usando el ‘before’ y ‘after’ del array)


 

show_post_count: este puede recibir un valor boleano con todos los parámetros excepto ‘postbypost’ paso a explicar.
– true (este muestra al costado entre paréntesis la cantidad de entradas )
– false (lo contrario de true, no muestra nada.)


 

echo: autoriza la salida, recibe un valor boleano.
– 1 (muestra)
– 0 (no muestra)


 

order: este se encarga del orden en cual se muestras, solo hay 2 formas.
– ASC (asendente A-Z )
– DESC (descendente Z-A)

Mostrando en el theme

una vez ya tengamos definido donde vamos a mostrar los posts o entradas solo tenemos que llamar a la variable que fue creado en function de la siguiente forma.

<?php wp_get_archives( $args ); ?>

Formar cortas

existen también formas cortas para poder listar nuestros posts o entradas de wordpress sin necesidad de tocar nuestro function o sea de forma directa por ejemplo:

Últimos 12 meses

<?php wp_get_archives( array( 'type' => 'monthly', 'limit' => 12 ) ); ?>

Últimos 16 días

<?php wp_get_archives( array( 'type' => 'daily', 'limit' => 16) ); ?>

últimos 20 posts o entradas

<?php wp_get_archives( array( 'type' => 'postbypost', 'limit' => 20, 'format' => 'custom' ) ); ?>

Mostrar en un Desplegable
Muestra un cuadro desplegable de archivos mensuales, en algunas etiquetas, con el número de puestos que se muestra.

<select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
  <option value=""><?php echo esc_attr( __( 'Select Month' ) ); ?></option>
  <?php wp_get_archives( array( 'type' => 'monthly', 'format' => 'option', 'show_post_count' => 1 ) ); ?>
</select>

moestrar todas las entradas alfabeticamente

<?php wp_get_archives('type=alpha'); ?>

este contenido fue extraído del Codex de wordpress, para mas información visítalo.

Relacionados