list wordpress posts alphabetically
<?php /* Template Name: A-Z Pages */ $posts_per_row = 3; $posts_per_page = 15; ?> <?php get_header(); ?> <div id="main-background"> <div id="main-column"> <h1><?php the_title(); ?></h1> <div id="a-z"> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array ( 'posts_per_page' => $posts_per_page, 'post_type' => 'post', 'orderby' => 'title', 'order' => 'ASC', 'paged' => $paged ); query_posts($args); if ( have_posts() ) { $in_this_row = 0; while ( have_posts() ) { the_post(); $first_letter = strtoupper(substr(apply_filters('the_title',$post->post_title),0,1)); if ($first_letter != $curr_letter) { if (++$post_count > 1) { end_prev_letter(); } start_new_letter($first_letter); $curr_letter = $first_letter; } if (++$in_this_row > $posts_per_row) { end_prev_row(); start_new_row(); ++$in_this_row; // Account for this first post } ?> <div class="title-cell"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></div> <?php } end_prev_letter(); ?> <div class="navigation"> <div class="alignleft"><?php next_posts_link('« Higher Letters') ?></div> <div class="alignright"><?php previous_posts_link('Lower Letters »') ?></div> </div> <?php } else { echo "<h2>Sorry, no posts were found!</h2>"; } ?> </div><!-- End id='a-z' --> </div><!-- End class='margin-top --> </div><!-- End id='rightcolumn' --> <?php get_sidebar(); ?> <?php get_footer(); ?> <?php function end_prev_letter() { end_prev_row(); echo "</div><!-- End of letter-group -->\n"; echo "<div class='clear'></div>\n"; } function start_new_letter($letter) { echo "<div class='letter-group'>\n"; echo "\t<div class='letter-cell'>$letter</div>\n"; start_new_row($letter); } function end_prev_row() { echo "\t</div><!-- End row-cells -->\n"; } function start_new_row() { global $in_this_row; $in_this_row = 0; echo "\t<div class='row-cells'>\n"; } ?>
thanks to Mac’s WordPress Tips