If you read my previous post you'll remember that I was working on a static front page, displaying some posts.
This is the first part of the code:
<?php
if ( have_posts() ) :
the_post();
?><h2><?php the_title(); ?></h2><?php
the_content();
else:
?>Someone Broke the About Page<?php
endif;
?>
That works perfectly fine! Now I do this
<?php
$posts = get_posts( 'numberposts=2' );
foreach ($posts as $post) :
setup_postdata($post);
?>
<h3>
<a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a>
</h3>
<h4>
Posted <?php the_date() ?>
- Comments (<?php comments_number(); ?>)
</h4>
<?php the_excerpt(); ?>
<?php
endforeach;
?>
And while the dates, comment count, excerpt all work perfectly, the_ID never echos, the_title always gives me the title of the Page, not the post, and same for the permalink.
Right now I have circumvented this issue by accessing properties of the $post object directly (guid, post_title, and ID) but I believe if I do it like so, plugins won't be able to hook onto it because I'm not calling the hook, correct?
So what am I doing wrong? Or is this a bug? Is there a better workaround?
Many Thanks
Dazzer