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:

  1. Titel wird eingelesen
  2. Titel wird auf ein Zeichen gekürzt
  3. Buchstabe wird klein geschrieben und mit dem Array-Buchstaben verglichen
  4. 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 😉