Hello,
I have created a WordPress page called "President's Message". I'd like to include an excerpt from this page on my main index page (index.php).
I'm familiar with the_loop() but I'm not sure how to grab just a single excerpt from an existing page to place on my main index.
Thanks
You'd need to generate a new loop and query specifically for that page by id (number) then only use the_excerpt() on the page to only pull the excerpt
@curtismchale - How do I query the page id? Here's the loop code I'm going to use - I'm not sure how to query pages as they are using in_category('3'). My page ID is 2.
<!-- Start the Loop. -->
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- The following tests if the current post is in category 3. -->
<!-- If it is, the div box is given the CSS class "post-cat-three". -->
<!-- Otherwise, the div box will be given the CSS class "post". -->
<?php if ( in_category('3') ) { ?>
<div class="post-cat-three">
<?php } else { ?>
<div class="post">
<?php } ?>
<!-- Display the Title as a link to the Post's permalink. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<!-- Display the date (November 16th, 2009 format) and a link to other posts by this posts author. -->
<small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small>
<!-- Display the Post's Content in a div box. -->
<div class="entry">
<?php the_content(); ?>
</div>
<!-- Display a comma separated list of the Post's Categories. -->
<p class="postmetadata">Posted in <?php the_category(', '); ?></p>
</div> <!-- closes the first div box -->
<!-- Stop The Loop (but note the "else:" - see next line). -->
<?php endwhile; else: ?>
<!-- The very first "if" tested to see if there were any Posts to -->
<!-- display. This "else" part tells what do if there weren't any. -->
<p>Sorry, no posts matched your criteria.</p>
<!-- REALLY stop The Loop. -->
<?php endif; ?>
@curtismchale - Here's what I want to accomplish with my homepage:
display an excerpt feed from a single page
display an excerpt feed from a category (showing 5 latest posts)
I'm not sure how to use query_posts to query a page and a category.
`
So you need to read and learn:
http://codex.wordpress.org/Function_Reference/query_posts
http://codex.wordpress.org/The_Loop
http://codex.wordpress.org/The_Loop_in_Action
I didn't put all the template tags in you'll need but here is where you go find out.
http://codex.wordpress.org/Template_Tags
Here is the basics of the code you need.
<?php // query for category
$queryArgs = array(
'category_name' => 'put your category name here'
'posts_per_page' => '5'
);
query_posts($queryArgs);
?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
this is where you define how what content from each post shows up
<?php endwhile; ?>
the 'older/newer' posts stuff goes here for pagination
<?php else : ?>
put an error message here
<?php endif; ?>
<!-- resets wordpress query so it doesn't screw with stuff -->
<?php wp_reset_query(); ?>
<?php // query for page
$queryArgs = array(
'p' => '4' // whatever page id you're looking for
);
query_posts($queryArgs);
?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
this is where you define how what content from each post shows up
<?php endwhile; ?>
the 'older/newer' posts stuff goes here for pagination but it's probably not needed for this loop
<?php else : endif; ?>
<!-- resets wordpress query so it doesn't screw with stuff -->
<?php wp_reset_query(); ?>
Ultimately there are lots of blog posts out there to learn about this stuff. Go check Digging into WordPress (blog) and buying their book would probably also be a good idea if you're going to continue developing with WordPress.