WordPress Archiv Widget: gruppieren nach Jahren

Nachdem meine Einträge nun schon bis ins Jahr 2008 zurückreichen, wollte ich mein Archiv in der rechten Sidebar nach Jahren gruppieren und die einzelnen Monate nur dann anzeigen lassen, wenn man auf ein Jahr klickt. Und das geht durch folgenden code in der sidebar.php:

$args = array(
    'type'            => 'monthly',
    'limit'           => '',
    'format'          => 'html', 
    'before'          => '',
    'after'           => '',
    'show_post_count' => false,
    'echo'            => 0
);
$res = wp_get_archives( $args ); 
$archi = explode( '</li>' , $res );
$links = array();
foreach( $archi as $link ) {
    $link = str_replace( array( '<li>' , "\n" , "\t" , "\s" ), '' , $link );
    if( '' != $link )
        $links[] = $link;
    else
        continue;
}

$y = 0; 
foreach($links as $k => $v){
    $match = array();
    preg_match("/title='(.*?)'/si", $v, $match);    
    $tmp = explode(" ", $match[1]);
    if($y != $tmp[1]){
        echo "<li><b><a href='#' onclick='$(\".li_".$tmp[1]."\").show();'>".$tmp[1]."</a></b></li>";
    }
    $y = $tmp[1];
    echo "<li style='margin-left:10px;display:none;' class='li_".$tmp[1]."'>".$v."</li>";
}

Das wars! Voraussetzung dafür ist nur, dass jQuery inkludiert ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

This site uses Akismet to reduce spam. Learn how your comment data is processed.