• Hello,

    Is there anyone here who can help me get th look of the old Blix theme as can be seen here: http://lettersandscience.net/Blix/archives

    But since I am to bad at PHP I need some help. The only thing I want to change is that the month/year heather don’t link.

    The code for the Blix theme is as following.

    <?php
    /*
    Template Name: archives
    */
    ?>
    
    <?php get_header(); ?>
    
                <div id="content" class="column archive">
                    <h2><?php _e('Archives'); ?></h2>
                    <?php BX_archive(); ?>
                </div>
    
    <?php get_sidebar(); ?>
    
    <?php get_footer(); ?>

    And the function you have here:

    <?php
    /**
     * Function BX_archive
     * ------------------------------------------------------
     * This function is based on WP's built-in get_archives()
     * It outputs the following:
     *
     * <h3><a href="link">Month Year</a></h3>
     * <ul class="postspermonth">
     *     <li><a href="link">Post title</a> (Comment count)</li>
     *     [..]
     * </ul>
     */
    
    function BX_archive()
    {
        global $month, $wpdb;
        $now        = current_time('mysql');
        $arcresults = $wpdb->get_results('SELECT DISTINCT YEAR(post_date) AS year, MONTH(post_date) AS month, count(ID) as posts FROM ' . $wpdb->posts . ' WHERE post_date <\'' . $now . "' AND post_status='publish' AND post_type='post' AND post_password='' GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC");
    
        if ($arcresults) {
            foreach ($arcresults as $arcresult) {
                $url  = get_month_link($arcresult->year, $arcresult->month);
                $text = sprintf('%s %d', $month[zeroise($arcresult->month,2)], $arcresult->year);
                echo get_archives_link($url, $text, '','<h3>','</h3>');
    
                $thismonth   = zeroise($arcresult->month,2);
                $thisyear = $arcresult->year;
    
                $arcresults2 = $wpdb->get_results('SELECT ID, post_date, post_title, comment_status FROM ' . $wpdb->posts . " WHERE post_date LIKE '$thisyear-$thismonth-%' AND post_status='publish' AND post_type='post' AND post_password='' ORDER BY post_date DESC");
    
                if ($arcresults2) {
                    echo '<ul class="postspermonth">', "\n";
                    foreach ($arcresults2 as $arcresult2) {
                        if ($arcresult2->post_date != '0000-00-00 00:00:00') {
                            $url       = get_permalink($arcresult2->ID);
                            $arc_title = $arcresult2->post_title;
    
                            if ($arc_title) $text = strip_tags($arc_title);
                            else $text = $arcresult2->ID;
    
                            echo '<li>', get_archives_link($url, $text, '');
                            $comments = mysql_query('SELECT * FROM ' . $wpdb->comments . ' WHERE comment_post_ID=' . $arcresult2->ID);
                            $comments_count = get_comments_number($arcresult2->ID);
                            if ($arcresult2->comment_status == 'open' OR $comments_count > 0) echo '&nbsp;('.$comments_count.')';
                            echo '</li>', "\n";
                        }
                    }
                    echo '</ul>', "\n";
                }
            }
        }
    }

The topic ‘Posts-per-month archive template.’ is closed to new replies.