Si quieres listar todas las páginas disponibles en WordPress (ten en cuenta que páginas y entradas o "posts" tienen un significado diferente en WordPress) existe una función denominada wp_list_pages que lo permite de un modo muy sencillo. Cuando se utiliza sin parámetros, listará todas las páginas en orden alfabético.
<?php wp_list_pages();?>
Para listar páginas de modo específico se puede hacer pasando un parámetro a la función, haciendo referencia a los Id de las páginas a incluir. En el ejemplo siguiente se mostrarán sólo dos páginas (las páginas que tienen Ids 4 y 5).
<?php wp_list_pages('include=4,5');?>
También se pueden excluir determinadas páginas utilizando un parámetro de exclusión:
<?php wp_list_pages('exclude=4,5');?>
Como se ha mencionado anteriormente, el valor predeterminado de wp_list_pages para la ordenación es alfabético. Sin embargo, puede cambiar el orden de la lista mediante el parámetro sort_column. El parámetro sort_column puede tener los siguientes valores:
- post_content: ordena alfabéticamente (valor predeterminado)
- menu_order: ordena por el orden de las páginas
- post_date: ordena por fecha de creación
- post_modified: ordena por la fecha/hora de la última modificación
- ID: ordena por ID de página
- post_author: ordena por el ID del autor de la página
- post_name: ordena alfabéticamente por el slug
El siguiente código permite ordenar por fecha de creación en lugar de por orden alfabético, que es el predeterminado:
<?php wp_list_pages('sort_column=post_date'); ?>
Las páginas pueden tener subpáginas, y estas subpáginas pueden tener subpáginas. ¿Qué pasa si sólo deseas enumerar páginas de nivel superior y excluir sus subpáginas? Controlar la profundidad funciona muy bien cuando se utiliza para generar menús desplegables con submenús.
Se puede utilizar el parámetro profundidad así:
<?php wp_list_pages('depth=1'); ?>



