I have a custom theme and have built a blog page where I'd like to utilize "the loop", but get_content() is not working. Instead of displaying page content, it displays code from a template. I don't understand why this doesn't function properly, because get_posts(), the_time(), and the_title() all work fine... here's what my code looks like:
<?php get_header(); ?>
<div id="bottom-wrapper-page">
<div class="breadcrumbs">
<?php if(function_exists('bcn_display'))
{
bcn_display();
}?>
</div><!--.breadcrumbs-->
<div id="delimeter"></div>
<!--[if IE ]><div id="ie"><![endif]-->
<!--[if !IE]>--><div id="post"><!--<![endif]-->
<?php if( is_page('blog') ) {
$debut = 0; //The first article to be displayed
while(have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<div id="bp">
<?php
$myposts = get_posts('numberposts=-1&offset=$debut');
foreach($myposts as $post) :
?>
<div class="bl_date"><?php the_time('d/m/y'); ?>
</div><!--.bl_date-->
<div class="bl_title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div><!--.bl_title-->
<div class="bl_teaser">
<?php the_content(); ?>
</div><!--.bl_teaser-->
<?php endforeach; ?>
</div><!--#bp-->
<?php endwhile; ?>
<?php } else{ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', 'page' ); ?>
<?php endwhile; // end of the loop. ?>
<?php } ?>
</div><!-- #post (or #ie) -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
</div><!-- #bottom-wrapper-page -->
And my output:
03/05/12
Cool Post 1
/*
Template Name: All posts
*/
?>
$debut = 0; //The first article to be displayed
?>
$myposts = get_posts('numberposts=-1&offset=$debut');
foreach($myposts as $post) :
?>
: 03/05/12
Test Post
/*
Template Name: All posts
*/
?>
$debut = 0; //The first article to be displayed
?>
$myposts = get_posts('numberposts=-1&offset=$debut');
foreach($myposts as $post) :
?>
: 19/04/12
Hello world!
/*
Template Name: All posts
*/
?>
$debut = 0; //The first article to be displayed
?>
$myposts = get_posts('numberposts=-1&offset=$debut');
foreach($myposts as $post) :
?>
:
Whatever it is, it's messing with my css as well. I noticed he /* Template Name: All posts */, but I don't have a template (to my knowledge) named all posts, so I don't know where this code came from. If anyone could please lend a hand, I'd greatly appreciate it
the_content()in your first code block at all ... – EAMann♦ May 4 '12 at 20:54the_content()and from the output is seems like there is someechoand some php tags not closed, the<?php the_time('d/m/y'); ?>mentioned by george will not cause such output – user983248 May 4 '12 at 21:07foreachis executing properly, but then it's displaying anotherforeachinline ... There might be some strangeechoing going on, but without seeing what comes before this code block or knowing how the block is included by WP, I can't be sure. – EAMann♦ May 4 '12 at 21:11