2016-03-22 4 views
0

Ich muss die Klasse "active" oder "current-menu-item" zu einem benutzerdefinierten Childpages-Menü hinzufügen. Ich habe den Code unten versucht, aber es scheint nicht zu funktionieren.

Ich habe google durchsucht aber kann nichts finden, das funktioniert!

<?php 
$childpages = query_posts('orderby=menu_order&order=asc&post_type=page&post_parent=35&posts_per_page=300'); 
if ($childpages) 
{ 
    // Display the children content 
    foreach ($childpages as $post) 
    { 
     setup_postdata($post) 
     ?> 
     <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="mezzanine-sub-title <?php echo!empty($_GET['page_id']) && $_GET['page_id'] == $post->ID ? "active" : NULL ?>"> 
      <span><?php the_title(); ?></span> 
      <a> 
       <?php 
       global $post; 
       $src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), array(5600, 1000), false, ''); 
       ?> 
       <div class="mezzanine-sub-image" style="background: url(<?php echo $src[0]; ?>);border:<?php the_field('border'); ?>;"> 
       </div> 
      </a> 
     </a> 
     <?php 
    } 
} 
?> 

Vielen Dank im Voraus

Antwort

1

Änderung query_posts zu get_posts auch Sie haben eine ungültige Syntax mit Ihrem <a>-Tag.

schließlich statt mit $get, die nichts nutzen kehrt wp_query

so sollte Ihr Code sein:

$childpages = get_posts('orderby=menu_order&order=asc&post_type=page&post_parent=35&posts_per_page=300'); 
    if ($childpages) 
    { 
     // Display the children content 
     foreach ($childpages as $post) 
     { 
      setup_postdata($post) 
      ?> 
      <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="mezzanine-sub-title<?php if ($post->ID == $wp_query->post->ID) { echo ' active'; }?>"> 
       <span><?php the_title(); ?></span> 
        <?php 
        $src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), array(5600, 1000), false, ''); 
        ?> 
        <div class="mezzanine-sub-image" style="background: url(<?php echo $src[0]; ?>);border:<?php the_field('border'); ?>;"> 
        </div> 

      </a> 
      <?php 
     } 
    } 
+0

Vielen Dank. Eine letzte Sache. Wissen Sie, wie Sie die Post-Parent-ID automatisch erhalten, anstatt sie in jede Vorlage eingeben zu müssen? – user3181828

+0

Wo wird dieser Code platziert? – Mark

+0

In benutzerdefinierten Vorlagen, aber ich würde gerne in der Lage sein, dies als eine generische Vorlage für Kinderseiten zu verwenden, die die ID nicht jedes Mal einfügt, wenn das sinnvoll ist? – user3181828

Verwandte Themen