Si el enlace permanente es igual a la URL del sitio actual

2

¿Hay una manera de agregar una clase a un div, cuando la URL del sitio actual es igual al enlace permanente de una publicación?

Necesito una clase "actual" para mi menú personalizado. Pongo los enlaces de las publicaciones en un elemento de la lista con un bucle, y para cada enlace quiero comprobar si el enlace permanente es igual al URL de la página actual. Si el enlace permanente coincide con la URL de la página actual, quiero agregar la clase "actual".

Algo como:

<?php $currentUrl = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
<?php if ( $currentUrl == the_permalink() ) { echo ' class="current"'; } else {} ?>

Junto con el bucle:

<?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(); ?>
    
pregunta ElBrm 28.02.2013 - 17:00

1 respuesta

4

Haría algo más simple usando 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(); ?>

No tuve tiempo de verificar el código, espero que esto ayude.

    
respondido por el Simon 28.02.2013 - 17:18

Lea otras preguntas en las etiquetas