Woodhenge Stories

(This will be set to Woodhenge as a child page)

(This will use the links to custom categories from posts that have a category with a  value of woodhenge and show them chronologically)

A Page of Posts

A Page Template that displays posts from a specific category depending on a Custom Field assigned to a Page. In this example the value of the Custom Field “category” is retrieved and used as the category to retrieve the posts in that category. So if the category of posts you want to display is called “Events” then assign the Custom Field “category” with a value of “Events” to the Page. Note that this will adhere to pagination rules meaning that four (4) posts will display per page with links to older/newer posts provided. This is designed to work with the WordPress Default theme (aka Kubrick), but should work with other themes with a little modification.

Save this to pageofposts.php and then assign PageofPosts as the Template when creating the action Page:

<?php
/*
Template Name: PageOfPosts
*/

get_header(); ?>

<div id="content">

<?php
if (is_page() ) {
$category = get_post_meta($posts[0]->ID, 'category', true);
}
if ($category) {
  $cat = get_cat_ID($category);
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
  $post_per_page = 4; // -1 shows all posts
  $do_not_show_stickies = 1; // 0 to show stickies
  $args=array(
    'category__in' => array($cat),
    'orderby' => 'date',
    'order' => 'DESC',
    'paged' => $paged,
    'posts_per_page' => $post_per_page,
    'caller_get_posts' => $do_not_show_stickies
  );
  $temp = $wp_query;  // assign orginal query to temp variable for later use
  $wp_query = null;
  $wp_query = new WP_Query($args);
  if( have_posts() ) :
		while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
	    <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
        <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
        <small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small>
        <div>
          <?php the_content('Read the rest of this entry »'); ?>
        </div>
        <p><?php the_tags('Tags: ', ', ', '<br />'); ?> Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?>  <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></p>
      </div>
    <?php endwhile; ?>
    <div>
      <div><?php next_posts_link('« Older Entries') ?></div>
      <div><?php previous_posts_link('Newer Entries »') ?></div>
    </div>
  <?php else : ?>

		<h2>Not Found</h2>
		<p>Sorry, but you are looking for something that isn't here.</p>
		<?php get_search_form(); ?>

	<?php endif; 

	$wp_query = $temp;  //reset back to original query

}  // if ($category)
?>

	</div>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

Leave a Reply

You must be logged in to post a comment.