Support » Fixing WordPress » Calling pages instead of posts

  • Hi,
    I’m trying to alter this theme:

    By default, it calls up posts in reverse chronological order. I just want to call pages instead of posts on the home page. Here’s the bit of code that I need to change, but don’t know how.

    <?php /* Count the number of posts so we can insert a widgetized area */ $count = 1 ?>
    <?php while ( have_posts() ) : the_post() ?>
    	<div id="post-<?php the_ID() ?>" class="<?php thematic_post_class() ?>">
    		<div class="entry-content">
    			<?php childtheme_post_header() ?>
    	    		<a href="<?php echo the_permalink() ?>"><span class="slide-title"><?php echo the_title(); ?></span>
              <img class="thumbnail" src="<?php if(get_post_meta($post->ID, 'thumbnail', $single = true)){echo get_post_meta($post->ID, 'thumbnail', $single = true);} else{bloginfo('url'); echo "/wp-content/themes/gallery/images/thumbnail-default.jpg";} ?>" width="125" height="125" alt="<?php echo the_title() ?>" /></a>
    			</div><!-- .post -->

    Sadly, I only know enough PHP to be dangerous and generally just dig into the codex for the solution to whatever minor problem I have. In this case, though, I just can’t figure it out. Any help would be appreciated!

Viewing 8 replies - 1 through 8 (of 8 total)
  • you can’t call Pages plural on the front page
    you can set a Page to be a static front page
    admin – settings – reading

    Really? Is there any reason for that? I thought it could be accomplished in some trivial way like replacing

    <?php while ( have_posts() ) : the_post ()?>


    <?php while ( have_pages() ) : the_page ()?>

    It sounds like I might just have to hard code everything in, though.

    I’m curious, how exactly would you put multiple pages on one page? I think the reason you can’t put pages is because of their functionality. In other words, a ‘page’ is designed as a one-shot, all-in-one item such as, for instance, an “About” page or “Disclaimer”, whereas posts already do both.

    Posts can be listed on a page, but posts can themselves also APPEAR as pages. So not only is there a logical question of ‘multiple pages on one page’ but there is the ‘why’ when the functionality exists already.

    Basically the theme is just generating a thumbnail and linking to the latest posts (through meta data and custom fields), not actually displaying any part of the post.

    All I want to display from the pages are thumbnails (which will link to the pages), titles and some custom field data. Know what I mean?

    So I don’t really want to display the pages per say, just some of the data associated with them.


    did you ever solve this problem? I have been trying to achieve this for years now and eventually just gave up. I am now working on phase 2 of my site and yet again the need to loop through pages has occurred.

    I basically feature my work on my website and like to have 1 page per piece of work. The problem with just having them as posts is the navigation falls apart when you try to view the selected piece of work. The way around this was to create a page with the same name and use some code to pull in post. This is a hack and doubles the work to create both page and post, but I have use posts because otherwise I can create snippets on my homepage that link to the different pages.

    Sorry if this is confusing, but basically my ideal solution would be to create pages for every bit of work and be able to loop through the content of those pages (main text, custom fields etc.) to use elsewhere on the website, it seems crazy you cant as I think it’s important to maintain an accurate page flow and structure which you just wont get with posts.

    Anyone able to help?



    I’m trying to do something similar. Looks like this is going to do the trick:

    Scroll down to Post and Page parameters… so this:


    Before the loop starts will get you all your pages. You can add other parameters to filter them further, like maybe make all the pages you want to pull children of a master page – almost like a post category.

    Enjoy, I’m off to implement this now…

    We did something similar;

    We wanted to only show Pages and wanted to exclude the “non-content” Pages like Contact, About, etc.

    We used this code directly above the loop as suggested.

    <?php // Retrieve only Pages and exclude About, links, contact, etc.
             $args = array(       // set up arguments
    	         'post_type' => 'page',              // Only Pages
    	         'post__not_in' => array(2,9,5,12)   // Do NOT show postID 2,9,5,or 12
           query_posts($args);   // execute the arguments

    Thanks to all above for the help.
    Stay Awesome!

    cool, but you could use the “exclude-pages” plugin? it seems to be much easier to me… Works with the latest version (2.9.2.).

Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘Calling pages instead of posts’ is closed to new replies.