Je veux juste ajouter une classe pour la page active dans wp_list_pages (). Est-ce possible? Si tel est le cas, puis-je fournir une classe particulière pour une page active? Voici mon code pour lister la page parent et sa sous page.
<?php
$output = wp_list_pages('echo=0&depth=1&title_li= &sort_column=menu_order' );
if (is_page( )) {
$page = $post->ID;
if ($post->post_parent) {
$page = $post->post_parent;
}
$children=wp_list_pages( 'echo=0&depth=1&child_of=' . $page . '&title_li=&sort_column=menu_order' );
if ($children) {
$output = wp_list_pages ('echo=0&depth=1&child_of=' . $page . '&title_li= &sort_column=menu_order');
}
}
?>
<li><a href="<?php echo get_permalink( $post->post_parent ); ?>" class="active">Home</a></li>
<?php
echo $output;
?>
S'il vous plaît, aidez-moi. Je veux ajouter le nom de la classe "active" à la page active dans wp_list_pages (). Par exemple, je souhaite afficher mes pages WP comme suit.Si je sélectionne la sous-page 3, je souhaite ajouter la classe active uniquement à cette page particulière.
<div class="page-menu">
<ul>
<li><a href="#" title="">Home</a></li>
<li><a href="#" title="">1</a></li>
<li><a href="#" title="">2</a></li>
<li><a href="#" title="" class="active">3</a></li>
<li><a href="#" title="">4</a></li>
<li><a href="3" title="">5</a></li>
</ul>
</div>
Problème résolu..
Je viens d'ajouter le css comme suit et cela résout le problème.
.page-menu ul li.current_page_item a{
background-color:#445C1C;
}
Pour ajouter la classe à la page parent, j'ai utilisé le code suivant
<li><a href="<?php echo get_permalink( $post->post_parent ); ?>" <?php if(is_page($post->post_parent )) {?> class="active" <?php }?>>Home</a></li>
J'espère que cela pourra aider quelqu'un à l'avenir qui est confronté au même problème que celui que j'ai rencontré :)
Comme wp_list_pages()
a un argument de walker
, vous pouvez l'utiliser pour remplacer ce qui est utilisé par walk_page_tree()
en tant que classe de déambulateur interne.
@ Brady a laissé un Nice exemple dans cette réponse .
class WPSE113482PageWalker extends Walker_Page
{
function start_el( &$output, $page, $depth, $args, $current_page )
{
// Build $output here and apply your class for the active item
}
}
Vous pouvez également envisager d’utiliser wp_page_menu()
.