aurel aurel - 2 months ago 6
PHP Question

looping through Wordpress posts

i am trying to get wordpress posts, 3 at a time, this is the code i'm using:

<?php while ( have_posts() ) : the_post() ?>
<?php if(get_post_meta($post->ID, 'feature', true) != true) {; ?>
<div class="show_col">
<?php for ($i = 1; $i <= 3; $i++) { ?>

<div class="set">
<a href="<?php the_permalink(); ?>" title="<?php printf( __('Permalink to %s', 'your-theme'), the_title_attribute('echo=0') ); ?>" rel="bookmark">
<img class="image" src="http://localhost/portpress/wp-content/themes/myTemp/portfolio/<?php echo get_post_meta($post->ID, 'intro_thump', true); ?>.jpg" width="300px" alt="AUREL #<?php the_ID(); ?>" />
</a>
<?php the_content("<P class='more'> Read More &#187; </p>"); ?>

</div>
<?php }; ?>
</div>

<?php }; ?>
<?php endwhile; ?>


i know this loop is echoing ONE post THREE times - but what i really want is this end result

<div class="show_col">
<div class="show_col"> post1 </div>
<div class="show_col"> post2 </div>
<div class="show_col"> post3 </div>
</div>
<div class="show_col">
<div class="show_col"> post4 </div>
<div class="show_col"> post5 </div>
<div class="show_col"> post6 </div>
</div>
<!-- and so on -->


i am doing this as the height of each post varies - therefore i add something like
.show_col{clear:both} so that the next three posts go under neath

i hope you could help

thanks

Answer

This is the code you need (I corrected some of your syntax):

<?php $i = 0; ?>
<?php while ( have_posts() ): the_post();?> 
    <?php  if(get_post_meta($post->ID, 'feature', true) != true): ?>
    <div class="show_col">

        <?php if(($i%3) == 0): ?>
            </div>
            <div class="show_col">
        <?php endif;?>

        <div class="set">
        <a href="<?php the_permalink(); ?>" title="<?php printf( __('Permalink to %s', 'your-theme'), the_title_attribute('echo=0') ); ?>" rel="bookmark"> 
        <img class="image" src="http://localhost/portpress/wp-content/themes/myTemp/portfolio/<?php echo get_post_meta($post->ID, 'intro_thump', true); ?>.jpg" width="300px" alt="AUREL #<?php the_ID(); ?>" />
        </a>    
        <?php the_content("<P class='more'> Read More &#187; </p>"); ?>

        </div>

    </div>           

    <?php  endif; ?>
<?php $i++; ?>
<?php endwhile; ?> 

Also you seem to add a semicolon after closing the function ( }; ), don't do that, there is no need for it.

Comments