Cum să afișezi TOATE Paginile în panoul de administrare?

20 iul. 2011, 06:35:52
Vizualizări: 21K
Voturi: 5

Vreau să găsesc o modalitate de a afișa toate paginile fără paginare și să fac acest lucru într-o metodă care nu va fi suprascrisă când actualizez WordPress, adică sub forma unui hook.

Pagina se află în administrare:
toate paginile

Cu toate paginile listate, pot apoi folosi javascript pentru a face expandare/comprimare pentru a afișa/ascunde subpaginile. Nu mă interesează timpii de încărcare ai paginii sau altceva, doar că această metodă nu poate fi utilizabilă dacă se folosește și paginarea - toate paginile trebuie să fie listate pe o singură pagină.

Deoarece doresc să fac acest lucru în zona de administrare, nu sunt sigur dacă este posibil fără să se strice la actualizare.

2
Comentarii

Sunt foarte curios despre metoda pe care o folosești pentru a extinde/compacta subpaginile folosind ecranul implicit wp-admin/edit.php?post_type=page. Este posibil acest lucru? Nu văd clase sau ID-uri utile în marcaj...

brasofilo brasofilo
9 ian. 2013 04:11:25

Poți identifica subpaginile prin liniuța "-" de la începutul numelui paginii, dublă liniuță pentru sub-subpagini etc.

dakine dakine
9 ian. 2013 21:06:19
Toate răspunsurile la întrebare 2
1

Dacă acea listă are prea multe pagini, s-ar putea să întâmpinați probleme.

Probabil deja știți că această setare se poate face în Opțiuni Ecran de pe pagina http://example.com/wp-admin/edit.php?post_type=page.

Dacă încercați să introduceți o valoare foarte mare acolo, apare această avertizare și sistemul nu o acceptă:

1500 de pagini

Totuși, următorul cod setează permanent această valoare la 2000.
Nu am mai mult de 999 de pagini pentru a testa dacă limita de care avertizează WordPress va fi depășită sau nu, dar valoarea de 2000 apare după reîmprospătarea paginii și rămâne acolo chiar dacă încercați să o micșorați.

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 ian. 2013 04:02:56
Comentarii

Credeam că va fi mult mai complicat, dar da, Opțiunile Ecranului au funcționat. Cred că această zonă ar trebui să fie întotdeauna primul loc în care mă uit - cam ca atunci când verifici dacă ai benzină în motorul care nu pornește înainte de a investiga mai departe. ;)

Mark Mark
26 mar. 2015 22:13:14
2

Puteți crea un șablon de pagină nou, iar în acel șablon puneți:

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

Aceasta va lista toate paginile fără indentare în ordine alfabetică.

(Referință: wp_list_pages)

20 iul. 2011 06:41:40
Comentarii

Îmi pare rău, se pare că am uitat complet să menționez partea principală a acestui lucru, vreau să fac asta în zona de administrare, de aceea nu sunt sigur dacă voi afecta actualizările viitoare

dakine dakine
21 iul. 2011 07:03:39

Poți în continuare să faci ce a sugerat Gavin. Doar folosește apelul wp_list_pages într-un callback pentru pagina ta de opțiuni sau oriunde ai dori.

chrisguitarguy chrisguitarguy
21 aug. 2011 16:18:26