WordPress.org

Support

Support » How-To and Troubleshooting » [Resolved] Display Specific Post based on category

[Resolved] Display Specific Post based on category

  • I am trying to create a template page to serve as category pages with an else if to display specific post based on category. New to php, so i think my syntax is incorrect. This is what i have pieced together:
    <?php get_header(); ?>
    <div id=”content” class=”narrowcolumn”>

    <?php if (is_category(‘3’) ):
    ?>

    <?php query_posts(‘p=17’); ?>
    <?php while (have_posts()) : the_post(); ?>
    <h4><?php the_title(); ?></h4>
    <?php the_content(); ?>

    <?php } elseif (is_category(’13’) ):

    <?php query_posts(‘p=11’); ?>
    <?php while (have_posts()) : the_post(); ?>
    <h4><?php the_title(); ?></h4>
    <?php the_content(); ?>

    <?php else : ?>
    //whatever goes in here
    <?php endif; ?>

    Displays blank page. Unsure what I am doing wrong. I will continue searching, but it seems the search function on the wp site is not working right now making it exceedingly difficult:-/ any help GREATLY appreciated

Viewing 2 replies - 1 through 2 (of 2 total)
  • Vaughan

    @vaughan-van-dyk

    Hi,

    Most of your code here was correct and you got the use of is_category and query_posts perfectly (those usually trip up many of us 🙂 The only issues were where and how you were closing your if structures and while loops. For example, in line 12 see how you have a closing bracket but no opening bracket earlier?

    It’s also a little complex because you’re using the ‘shorthand’ style of notating decision structures (by using the : instead of brackets). There’s nothing wrong with that, but I just find it less clear than brackets. If you are going to do that though, remember to use endif; and endwhile; where appropriate.

    I’ve fixed this as follows and for demonstration purposes combined shorthand for the while loops and brackets for the if structures:

    <?php get_header(); ?>
    <div id="content" class="narrowcolumn">
    
    <?php if (is_category('3') ) { ?>
     <?php query_posts('p=17'); ?>
     <?php while (have_posts()) : the_post(); ?>
       <h4><?php the_title(); ?></h4>
       <?php the_content(); ?>
     <?php endwhile;
    } elseif (is_category('13') ) { ?>
     <?php query_posts('p=11'); ?>
     <?php while (have_posts()) : the_post(); ?>
       <h4><?php the_title(); ?></h4>
       <?php the_content(); ?>
     <?php endwhile;
    } else { ?>
     //whatever goes in here
    <?php } ?>

    Hope that helps.
    Vaughan

    Vaughan

    You are a life-saver! thank you. will continue to play and see if i can get this thing to behave;-)

    **Ann

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘[Resolved] Display Specific Post based on category’ is closed to new replies.
Skip to toolbar