Beiträge auflisten, aktuellen hervorheben

Avatar of Chris Coyier
Chris Coyier am

WordPress fehlt eine Funktion namens wp_list_posts(), die logisch zur robusten und nützlichen Funktion wp_list_pages() passen würde. Sie können sie jedoch simulieren, indem Sie die Funktion get_posts() verwenden und Ihre eigene Schleife durch die Ergebnisse laufen lassen.

Die Parameter für get_posts() unten sind nur Beispiele, ersetzen Sie sie durch Ihre Bedürfnisse.

<ul>

    <?php
        $lastposts = get_posts('numberposts=5&orderby=rand&cat=-52');
        foreach($lastposts as $post) :
        setup_postdata($post); ?>

        <li<?php if ( $post->ID == $wp_query->post->ID ) { echo ' class="current"'; } else {} ?>>
            
            <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
            
        </li>

    <?php endforeach; ?>

</ul>

wp_list_pages() hat auch die Funktion, dem Listenelement eine Klassenbezeichnung "current_page_item" hinzuzufügen, wenn diese Seite die aktive ist. Beachten Sie das öffnende Listentag oben, das diese Funktionalität nachbildet, indem es prüft, ob die ID aus der aktuellen Abfrage mit der ID aus der aktuellen Iteration der Schleife übereinstimmt.