Dacă permalink-ul este egal cu URL-ul curent al site-ului

28 feb. 2013, 18:00:36
Vizualizări: 13.7K
Voturi: 3

Există o modalitate de a adăuga o clasă unui div, atunci când URL-ul curent al site-ului este egal cu permalink-ul unei postări?

Am nevoie de o clasă "current" pentru meniul personalizat. Am plasat link-urile postărilor într-o listă folosind un loop, iar pentru fiecare link vreau să verific dacă permalink-ul este egal cu URL-ul paginii curente. Dacă permalink-ul se potrivește cu URL-ul curent, vreau să adaug clasa "current".

Ceva de genul:

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

Împreună cu loop-ul:

<?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(); ?>
0
Toate răspunsurile la întrebare 1
1

Aș face ceva mai simplu folosind ID-ul:

<?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(); ?>

Nu am avut timp să verific codul, sper să vă fie de ajutor.

28 feb. 2013 18:18:40
Comentarii

Cu plăcere. Fac o mică editare pentru a nu afișa nimic.

Simon Simon
28 feb. 2013 22:13:21