- Home
- Categorie
- Coding e Sistemistica
- CMS & Piattaforme Self-Hosted
- [Wordpress] Gestire bene le pagine
- 
							
							
							
							
							
Ho visto qui e qui ma non riesco a trovare nel mio template la funzione wp_list_page che penso sia quella sulla quale lavorare 
 
- 
							
							
							
							
							
di solito sta nella sidebar, o nell'header.php se la lista ce l'hai orizzontale; ma mi rendo conto che è un po' vago, dipende tropo dal template che usi. cerca dentro ai file in tutta la cartella del tema 
 
- 
							
							
							
							
							
Ok, ho trovato la riga che mi interessa nell'header <?php wp_list_pages('depth=1&title_li=0&sort_column=menu_order'); ?>Penso che dovrei inserire il parametro *child_of= *e un ID di pagina. Se metto come ID lo zero mi lista tutte le pagine. 
 Ma come faccio a sapere l'ID della pagina attuale?Edit: per il child_of vedere qui 
 
- 
							
							
							
							
							
Gorka scusami ma il tuo blog lo vedo tutto defacciato  te ne sei accorto? te ne sei accorto?
 
- 
							
							
							
							
							
@dani74 said: Gorka scusami ma il tuo blog lo vedo tutto defacciato  te ne sei accorto? te ne sei accorto?Io lo vedo bene, cosa hai visto tu? 
 
- 
							
							
							
							
							
l?ID della pagina lo vedi dal pannello di gestione delle pagine  
 
- 
							
							
							
							
							
Si Tambu però a me serve dinamico, in modo che pongo *child_of=id_attuale 
 *Quindi dovrei scoprire come si chiama quella variabile.
 
- 
							
							
							
							
							
L'ID dovrebbe essere qui: $wp_query->post->ID  
 
- 
							
							
							
							
							
Grazie ragazzi, ho risolto con questo pezzetto di codice nell'header $pagina=$wp_query->post->ID; wp_list_pages('depth=1&title_li=0&sort_column=menu_order&child_of='.$pagina);Sono soddisfatto però all'80% in quanto con questa soluzioni mi mostra pagine "figlie" e "nipoti" io invece vorrei mostrasse solo il primo livello (quindi solo figli, niente nipoti). 
 Se riuscissi in quest'ultima cosa sarebbe proprio il massimo, anche se già mi sta bene così.Grazie a tutti  
 
- 
							
							
							
							
							
strano perché con depth=1 dovrebbe mostrare solo le sottopagine! in realtà leggendo il codex inglese noto una sfumatura diversa nella descrizione di DEPTH... non capisco se si riferisce alla root o alla pgina in cui si è 
 
- 
							
							
							
							
							
Adesso non mi funziona di nuovo (nella home page non mi linka la pagina principale), appena ho tempo ci rimetto mano e se risolvo vi faccio sapere. 
 
- 
							
							
							
							
							
a me il codice: [php]$pagina=$wp_query->post->ID; 
 wp_list_pages('depth=1&title_li=0&sort_column=menu_order&child_of='.$pagina);
 [/php]
 Mostra solo i figli di primo livello della pagina corrente.Nella variabile $wp_query->post->ID c'è l'id della pagina solo se ti trovi in una pagina. Io non so di preciso cosa vuoi ottenere, se ad esempio vuoi che: - Se sei in una pagina vedi i figli di 1° livello
- se non sei in una pagina vedi il 1° livello
 puoi fare: [php]$pagina = (is_page()) ? $wp_query->post->ID : 0; 
 wp_list_pages('depth=1&title_li=0&sort_column=menu_order&child_of='.$pagina);
 [/php]
 che è come scrivere:[php]if(is_page()){ 
 $pagina=$wp_query->post->ID;
 wp_list_pages('depth=1&title_li=0&sort_column=menu_order&child_of='.$pagina);
 } else {
 wp_list_pages('depth=1&title_li=0&sort_column=menu_order&child_of=0');
 }[/php]
 
- 
							
							
							
							
							
Spero di avere il tempo di provare pomeriggio, appena lo faccio vi informo 
 
- 
							
							
							
							
							
salve, io ho utilizzato questi comandi che avete dato.. ho un sol oproblema.. vorrei che l'output fosse col nome della pagina, non con l'id... (che nell'output di wp_list_pages agisse il mod_rewrite per intenderci....) voi avete idea di come fare?io ho cercato un pò in giro ma non ho trovato nulla a riguardo 
 
- 
							
							
							
							
							
ciao, se definisci un permalink nelle opzioni, anche l'utl delle pagine dovrebbe essere riscritto automaticamente, credo... 
 
- 
							
							
							
							
							
si, adesso è ok ^__^ 
 
- 
							
							
							
							
							
ciao raga, 
 io volevo fare in modo di escludere una pagina dalla barra principale ed arrivare a questa tramite un link che ho creato nella sidebar.
 sapete come posso fare?
 grazie!
 
- 
							
							
							
							
							
Finora, l'unica cosa che sembra avere a che fare col mio problema è questo codice nella pagina header <!-- navigation ................................. --> 
 <div id="navigation">
 <ul>
 <li<?php if (is_home()) echo " class="selected""; ?>><a href="<?php bloginfo('url'); ?>">Home</a></li>
 <?php
 $pages = get_pages();
 if ($pages) {
 foreach ($pages as $page) {
 $page_id = $page->ID;
 $page_title = $page->post_title;
 $page_name = $page->post_name;
 if ($page_name == "archives") {
 (is_page($page_id) || is_archive() || is_search() || is_single())?$selected = ' class="selected"':$selected='';
 echo "<li".$selected."><a href="".get_page_link($page_id)."">Archives</a></li>\n";
 }
 elseif($page_name == "home") {"";
 }
 elseif($page_name == "about") {
 (is_page($page_id))?$selected = ' class="selected"':$selected='';
 echo "<li".$selected."><a href="".get_page_link($page_id)."">About</a></li>\n";
 }
 elseif ($page_name == "about_short") {/ignore/}
 else {
 (is_page($page_id))?$selected = ' class="selected"':$selected='';
 echo "<li".$selected."><a href="".get_page_link($page_id)."">$page_title</a></li>\n";
 }
 }
 }
 ?>
 </ul></div> 
 <!-- /navigation -->Forse è questo che devo modificare? 
 
- 
							
							
							
							
							
Ciao blaze++, il post è molto datato, ti consiglio di aprire un topic nella sezione dedicata a wordpress: http://www.giorgiotave.it/forum/wordpress/ 