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