cansants

Cómo crear la navegación para los custom post type

Recientemente he tenido que utilizar una página con un template. Esta página debía mostrar un listado de un nuevo custom post type. Por defecto, wordpress mostrar únicamente diez elementos. El problema que me encontré fue que este custom post type llegaría a tener más de diez elementos y sucedido esto perdía la navegación entre páginas.

 $post_type,
		$tax => $category,
		'post_status' => 'publish',
		'paged' => $paged,
		'meta_key' => 'agenda_start_date',
		'orderby' => 'agenda_start_date'
);

$my_query = null;
$my_query = new WP_Query($args);

while ($my_query->have_posts()) : $my_query->the_post();

...

endwhile;

?>

Las funciones next_posts_link() y previous_posts_link() te permiten mostrar el siguiente conjunto de mensajes que se están consultando. Leyendo la documentación del Codex de WordPress no encontraba la solución a este problema. Hasta que finalmente encontré una ligera pista sobre la navegación para un cpt.

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 

Añadiendo esto al código los enlaces next_posts_link() y previous_posts_link() aparecían, pero me enlazaban con los mismos resultado y modificando la url. Esto me despisto un poco al principio. En este caso las funciones necesitaban de un segundo parámetro, el numero máximo de elementos. En definitiva le informaremos del numero total de elementos que devuelve la query para este custom post type.

previous_posts_link('« Siguientes', $my_query->max_num_pages); 
next_posts_link('Anteriores »', $my_query->max_num_pages); 

Esto soluciono el problema de la navegación entre páginas.

Salir de la versión móvil