WordPress.org

Ready to get started?Download WordPress

Forums

Loop through a specific category on single.php (2 posts)

  1. petrescu87
    Member
    Posted 4 years ago #

    I've created a custom page and it is set as my homepage, within this custom page I am pulling out the latest post from a specific category, I've also created a form of pagination which when clicked upon will take the user to single.php. My intention for the single.php is to have two custom loops.

    Custom loop one
    I want single.php to distinguish that it has came from the homepage and loop through all of the posts tagged with the same category as the one on the homepage.

    Some of these posts will have to be tagged with more than one category, so the loop will have to know to ignore the other categories and just pay attention to the category in question. Does that make sense?

    Custom loop two
    If the user hasn't arrived from the homepage, single.php will just act as it normally does i.e, if the user comes from index.php (the blog) they will be taken to this second loop (blog post)

    However I don't seem to be able to make the distinction between the two loops, I might be over complicating matters, as I've got a loop which wraps everything together and then I have a loop for my custom pagination.

    Here is the code below to show you what I'm talking about

    custompage.php (set to home) - This works just fine but I'll post it just incase anyone is able to tidy it up

    <?php query_posts('cat=1'); ?>
    
    <?php
    $myPosts = new WP_Query();
    $myPosts->query('showposts=1');
    
    if (have_posts()) :
    while ($myPosts->have_posts()) : $myPosts->the_post();
    ?>
    
    <script type="text/javascript">$.backstretch("<?php $key="image"; echo get_post_meta($post->ID, $key, true);?>");</script>
    <div id="post-<?php the_ID(); ?>" class="info">
          <h2><?php the_title(); ?></h2>
            <ul class="nav">
               <?php query_posts('posts_per_page=1&offset=1'); the_post(); ?>
               <li class="prev"><a href="<?php the_permalink() ?>">Previous</a></li>
                <?php wp_reset_query(); ?>
                <li class="next"></li>
            </ul>
    </div>
    <!-- end .info -->
    
    <?php endwhile; endif; ?>
    <?php wp_reset_query(); ?>

    single.php - Currently broken

    <?php if( in_category('1') ) { ?>
       <!-- start -->
       <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <div id="post-<?php the_ID(); ?>" class="info">
        <script type="text/javascript">$.backstretch("<?php $key="image"; echo get_post_meta($post->ID, $key, true);?>");</script>
                <h2><?php the_title(); ?></h2>
                <ul class="nav">
                    <li class="prev"><?php previous_post_link('%link', '&nbsp;', 'true', '1') ?></li>
                    <li class="next"><?php next_post_link('%link', '&nbsp;', 'true', '1'); ?></li>
                    <!--li class="prev"><?php //previous_post_link('%link', '%title;', 'true', '1') ?></li>
                    <li class="next"><?php //next_post_link('%link', '%title;', 'true', '1'); ?></li-->
                </ul>
        </div>
        <!-- end .info -->
        <?php endwhile; else: ?>
        <?php endif; ?>
       <!-- end -->
    
    <?php }else{ ?>
    
       <div id="content" class="widecolumn" role="main">
       <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
          <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
             <h2><?php the_title(); ?></h2>
             <div class="entry">
                <?php the_content('<p class="serif">Read the rest of this entry &raquo;</p>'); ?>
             </div>
          </div>
       <?php comments_template(); ?>
       <?php endwhile; else: ?>
          <p>Sorry, no posts matched your criteria.</p>
        <?php endif; ?>
       </div>
    
    <?php } ?>

    Any help would be greatly appreciated. Cheers!

  2. mrthrust
    Member
    Posted 4 years ago #

    a little something what im looking for, a loop within a loop?

    ideas? suggestions?

Topic Closed

This topic has been closed to new replies.

About this Topic