¿Cómo listar TODAS las Páginas en el panel de administración?

20 jul 2011, 06:35:52
Vistas: 21K
Votos: 5

Estoy buscando una manera de tener todas las páginas listadas sin paginación y hacerlo de una forma que no se sobrescriba cuando actualice WordPress, es decir, mediante un hook.

La página está en la administración:
listado de todas las páginas en el panel de WordPress

Con todas las páginas listadas, puedo usar javascript para hacer un colapso que muestre/oculte las subpáginas. No me preocupan los tiempos de carga de la página ni nada por el estilo, solo que este método no sea utilizable si también se usa la paginación, todas las páginas necesitan estar listadas en 1 página.

Como quiero hacer esto en el área de administración, ni siquiera estoy seguro si esto es posible sin que se rompa al actualizar.

2
Comentarios

Realmente tengo curiosidad por el método que estás usando para expandir/colapsar las subpáginas usando la pantalla predeterminada wp-admin/edit.php?post_type=page. ¿Es eso posible? No estoy viendo clases o ID's útiles en el marcado...

brasofilo brasofilo
9 ene 2013 04:11:25

Puedes identificar las subpáginas por el "-" al inicio del nombre de la página, dobles guiones para sub-subpáginas, etc.

dakine dakine
9 ene 2013 21:06:19
Todas las respuestas a la pregunta 2
1

Si esa lista tiene demasiadas páginas, quizás encuentres problemas.

Probablemente ya sepas que esto puede configurarse en las Opciones de Pantalla de la página http://example.com/wp-admin/edit.php?post_type=page.

Si intentas poner un valor muy alto allí, aparecerá esta advertencia y el sistema no lo aceptará:

1500 páginas

Pero el siguiente código establece permanentemente este valor en 2000.
No tengo más de 999 páginas para probar si se sobrepasa ese límite del que WordPress advierte o no, pero el valor de 2000 aparece después de actualizar la página y permanece aunque intentes reducirlo.

add_filter( 'get_user_metadata', 'pages_per_page_wpse_23503', 10, 4 );
function pages_per_page_wpse_23503( $check, $object_id, $meta_key, $single )
{ 
    if( 'edit_page_per_page' == $meta_key )
        return 2000;

    return $check;
}
9 ene 2013 04:02:56
Comentarios

Pensé que sería mucho más complicado, pero sí, las Opciones de Pantalla lo hicieron. Creo que esa área siempre debería ser el primer lugar donde busco, algo así como verificar si tienes gasolina en tu motor que no enciende antes de investigar más a fondo. ;)

Mark Mark
26 mar 2015 22:13:14
2

Puedes crear una nueva plantilla de página, y en esa plantilla colocar:

<?php wp_list_pages( 'depth=-1' ); ?>

Eso listará todas las páginas sin sangría y en orden alfabético.

(Referencia: wp_list_pages)

20 jul 2011 06:41:40
Comentarios

Lo siento, parece que olvidé mencionar la parte principal de esto. Quiero hacer esto en el área de administración, por eso no estoy seguro si estaré rompiendo futuras actualizaciones.

dakine dakine
21 jul 2011 07:03:39

Aún puedes hacer lo que Gavin sugirió. Solo coloca la llamada wp_list_pages dentro de una función de retorno (callback) para tu página de opciones o donde quieras que aparezca.

chrisguitarguy chrisguitarguy
21 ago 2011 16:18:26