Se il permalink è uguale all'URL corrente del sito
28 feb 2013, 18:00:36
Visualizzazioni: 13.7K
Voti: 3
Esiste un modo per aggiungere una classe a un div, quando l'URL corrente del sito è uguale al permalink di un post?
Ho bisogno di una classe "current" per il mio menu personalizzato. Ho inserito i link dei post in un elemento lista con un loop, e per ogni link voglio verificare se il permalink corrisponde all'URL della pagina corrente. Se il permalink corrisponde all'URL corrente, voglio aggiungere la classe "current".
Qualcosa come:
<?php $currentUrl = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
<?php if ( $currentUrl == the_permalink() ) { echo ' class="current"'; } else {} ?>
Insieme al loop:
<?php $currentUrl = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
<?php query_posts('orderby=name'); ?>
<?php while (have_posts()) : the_post(); ?>
<li>
<a <?php if ( $currentUrl == the_permalink() ) { echo ' class="current"'; } else {} ?>
href="<?php the_permalink() ?>">
<?php the_title() ?>
</a>
</li>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

ElBrm
157
Tutte le risposte alla domanda
1
1
Farei qualcosa di più semplice usando l'ID:
<?php $current_id = $post->ID; ?>
<?php query_posts('orderby=name'); ?>
<?php while (have_posts()) : the_post(); ?>
<li>
<?php $current_class = ( $current_id == $post->ID ) ? 'class="current"' : ''; ?>
<a <?php if ( $current_class ) echo $current_class; ?> href="<?php the_permalink() ?>">
<?php the_title() ?>
</a>
</li>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
Non ho avuto tempo di verificare il codice, spero sia d'aiuto.

Simon
1.22K
28 feb 2013 18:18:40
Domande correlate
2
risposte
1
risposte