Hallo liebe Freunde,
so es gibt mal wieder was aus dem Bereich WordPress dating site von mir zu berichten 😉
Wer wollte nicht schon immer mal seine Posts mit einer Filterung von a-z haben…hier die Lösung dafür!
Gefiltert wird in diesem Fall der Titel des Post’s.
Erklärung:
- Titel wird eingelesen
- Titel wird auf ein Zeichen gekürzt
- Buchstabe wird klein geschrieben und mit dem Array-Buchstaben verglichen
- Wenn der Buchstabe vorhanden ist und noch nicht verwendet wurde, wird das echo ausgeführt
Das geht solange bis alle Titel abgearbeitet werden 😉
A-Z-Browser
<div class="aznavi"> <?php $args = array ( 'posts_per_page' => $posts_per_page, 'post_type' => 'post', 'orderby' => 'title', 'cat' => '4', 'showposts' => $limit, 'order' => 'ASC', 'paged' => $paged ); query_posts($args); $azarray = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"); echo "<ul>"; if ( have_posts() ) : while ( have_posts() ) : the_post(); $checkTitle = substr(get_the_title(),0,1); foreach ( $azarray as $value) { if(strtolower($checkTitle) == $value && $oldTitle != $checkTitle) { echo '<li><a href="?letter='.$value.'" title="Zeige alles mit dem Buchstaben ('.$value.')">'.strtoupper($value).'</a></li>'; $oldTitle = $checkTitle; } } endwhile; endif; echo '<li><a href="?letter=all" title="Zeige alles">Alle Titel</a></li>'; echo "</ul>"; ?> </div>
Und hier kommt dann alles was man in seinem Post machen will.
Schleife für den Post
<?php // category 4 => Discography $limit = get_option('posts_per_page'); $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $catId = "4"; $args1 = array ( 'posts_per_page' => $posts_per_page, 'post_type' => 'post', 'cat' => $catId, 'showposts' => $limit, 'paged' => $paged, 'orderby' => 'date', 'order' => 'DESC' ); query_posts($args1); $wp_query->is_archive = true; $wp_query->is_home = false; // Start Loop if ( have_posts() ) : while ( have_posts() ) : the_post(); $checkTitle = substr(get_the_title(),0,1); if(strtolower($checkTitle) == $_GET['letter'] || $_GET['letter'] == "all" || $_GET['letter'] == "") : ?> <div class="post"> <p> Hier stehen deine Posts </p> </div> <?php endif; // end of check endwhile; else: ?> <div class="post"> <p> <?php _e('Sorry, no posts matched your criteria.', 'dzonia'); ?> </p> </div> <?php endif; // end loop ?>
So sieht es dann aus, muss natürlich noch gestylt werden 😉
Schreibe einen Kommentar