Come elencare TUTTE le Pagine nella dashboard di WordPress?

20 lug 2011, 06:35:52
Visualizzazioni: 21K
Voti: 5

Sto cercando un modo per avere tutte le pagine elencate senza paginazione e farlo in un modo che non venga sovrascritto quando aggiorno WordPress, cioè sotto forma di hook.

La pagina si trova nell'amministrazione:
elenco di tutte le pagine nella dashboard WordPress

Con tutte le pagine elencate posso quindi utilizzare javascript per fare il collasso per mostrare/nascondere le sottopagine, non sono preoccupato dei tempi di caricamento della pagina o altro, solo non posso avere questo metodo utilizzabile se viene usata anche la paginazione, tutte le pagine devono essere elencate in una singola pagina.

Poiché voglio fare questo nell'area di amministrazione, non sono nemmeno sicuro se sia fattibile senza che si rompa durante l'aggiornamento.

2
Commenti

Sono davvero curioso di sapere quale metodo stai usando per espandere/comprimere le sottopagine utilizzando la schermata predefinita wp-admin/edit.php?post_type=page. È possibile? Non vedo classi o ID utili nel markup...

brasofilo brasofilo
9 gen 2013 04:11:25

Puoi identificare le sottopagine dal "-" all'inizio del nome della pagina, doppi trattini per le sotto-sottopagine ecc..

dakine dakine
9 gen 2013 21:06:19
Tutte le risposte alla domanda 2
1

Se quell'elenco ha troppe pagine, potresti incontrare problemi.

Probabilmente sai già che questo può essere impostato nelle Opzioni Schermo della pagina http://example.com/wp-admin/edit.php?post_type=page.

Se provi a inserire un valore molto alto, appare questo avviso e il sistema non lo accetta:

1500 pagine

Ma il seguente codice imposta permanentemente questo valore a 2000.
Non ho più di 999 pagine per testare se quel limite di cui WordPress avverte verrà ignorato o meno, ma il valore 2000 viene visualizzato dopo aver aggiornato la pagina e rimane anche se provi a ridurlo.

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 gen 2013 04:02:56
Commenti

Pensavo sarebbe stato molto più complicato, ma sì, le Opzioni Schermo hanno risolto. Penso che quell'area dovrebbe sempre essere il primo posto dove guardo - un po' come controllare se c'è benzina nel motore che non parte prima di approfondire ulteriormente. ;)

Mark Mark
26 mar 2015 22:13:14
2

Puoi creare un nuovo template di pagina, e in quel template inserire:

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

Questo elencherà tutte le pagine senza rientri e in ordine alfabetico.

(Riferimento: wp_list_pages)

20 lug 2011 06:41:40
Commenti

Scusa, sembra che mi sia completamente dimenticato di menzionare la parte principale di questo, voglio farlo nell'area di amministrazione, ecco perché non sono sicuro se romperò gli aggiornamenti futuri

dakine dakine
21 lug 2011 07:03:39

Puoi ancora fare ciò che ha suggerito Gavin. Basta inserire la chiamata wp_list_pages all'interno di un callback per la tua pagina delle opzioni o dove preferisci.

chrisguitarguy chrisguitarguy
21 ago 2011 16:18:26