2011-08-30 5 views
1

J'ai besoin de votre aide sur mon test de développement de thème wordpress auto-formation. Je veux créer des onglets en surbrillance dans css similaire à http://www.countryqueenslandbookkeepers.com.au/, j'essaie de faire un similaire dans wordpress en obtenant la valeur de page_id dans l'URL et de le comparer à l'ID poste. s'il est égal, alors l'écho devrait être "sélectionné" ou bien "par défaut". Cela fonctionne bien, cependant, quand je change quelque chose comme www.mydomain /% postname% /, le permalien ne marche plus.Mise en évidence des onglets en CSS: Thème Wordpress Développement

Comment puis-je obtenir la valeur ou comment puis-je comparer /%postname%/ afin que je puisse faire écho "sélectionné" à mon lien?

<?php 
     $all_posts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE 
       post_type = 'page' AND 
       post_status = 'publish' 
       ORDER by ID ASC"); 
     foreach ($all_posts as $post): 
    ?> 
     <li class="<?php 
         if($post->ID == $_GET['page_id']){ 
          echo"selected"; 
         }else{ 
          echo "default"; 
         }?>"> 
      <a href="<?php echo $post->guid; ?>"><?php echo $post->post_title; ?></a> 
     </li> 
    <?php endforeach; ?>  

Répondre

0

Utilisez à la place get_permalink. Vous passez dans l'ID poste et le permalien est renvoyé. Consultez également wordpress.stackexchange.com. Wordpress codex questions comme celle-ci sont souvent mieux répondu là-bas. Les questions de codage font mieux ici.

 <?php 
    if(get_permalink($post->ID) == currentURL){ 
      echo"selected"; 
    }else{ 
     echo "default"; 
    }?>"> 
0

Vous devez utiliser la classe CSS .current-menu-item qui est automatiquement appliquée à chaque élément de menu actif. Modifiez votre style.css en conséquence et vous obtiendrez l'effet de surlignage. S'il vous plaît voir le Codex WordPress sur Dynamic Menu Highlighting.