Le code ci-dessous va vous permettre de créer une liste déroulante de vos pages publiée sur votre blog, vous pouvez utiliser le tableau d’arguments pour personnaliser l’affichage (ordre, exclure,sous-page….).Voir le codex WordPress.
Le code est simple d’utilisation et rapide a insérer et personnalisable avec le code css
Ajouter le code suivant a l’endroit désiré dans votre thème (sidebar,single.php,page.php…)
<select name="page-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> <option value=""><?php echo attribute_escape(__('Choisir une page')); ?></option> <?php // Tableau d'arguments pour personalisé la liste des pages $args = array( 'sort_order' => 'ASC', // ordre 'sort_column' => 'post_title', // par titre (post_date = par date ,post_modified = dernière modification, post_author = Par auteur) 'hierarchical' => 1, // Hiérarchie des sous pages 'exclude' => '', // page a exclure avec leurs ID ex: (2,147) 'include' => '', // page a inclure avec leurs ID (5,10) 'meta_key' => '', // Inclure uniquement les pages qui ont cette clé des champs personnalisés 'meta_value' => '', // Inclure uniquement les pages qui ont cette valeur de champ personnalisé 'authors' => '', // Inclure uniquement les pages écrites par l'auteur(ID) 'child_of' => 0, // niveau des sous-pages 'parent' => -1, // Affiche les pages qui ont cet ID en tant que parent. La valeur par défaut -1 'exclude_tree' => '', // Le contraire de «child_of», «exclude_tree 'supprimera tous les sous pages par ID. 'number' => '', // Défini le nombre de pages à afficher 'offset' => 0, // nombre de pages à passer au-dessus 'post_type' => 'page', // post type 'post_status' => 'publish' // publish = Publier, private = page privé ); $pages = get_pages($args); foreach ($pages as $pagg) { $option = '<option value="'.get_page_link($pagg->ID).'">'; $option .= $pagg->post_title; $option .= '</option>'; echo $option; } ?> </select>