WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] Multiple Single Post templates/categories (4 posts)

  1. intricateartist
    Member
    Posted 5 years ago #

    I'm using the following hack in my single.php:

    <?php
    $post = $wp_query->post;
     if ( in_category(3) || in_category (4) || in_category (6) || in_category (7) || in_category (8) || in_category (9) || in_category (10) || in_category (11) || in_category (12) || in_category (13) || in_category (14) || in_category (15) || in_category (16) || in_category (17) || in_category (18) || in_category (19) || in_category (20) || in_category (21) || in_category (22) || in_category (23) || in_category (24) || in_category (25) || in_category (93)) {
        include (TEMPLATEPATH.'/single-3.php');
    
    } elseif ( in_category('26') ) {
      include(TEMPLATEPATH . '/single-26.php');
    
    } elseif ( in_category('100') ) {
      include(TEMPLATEPATH . '/single-100.php');
    
        return;
    }
    get_header(); ?>

    The problem I'm having is that on single-3.php and single-26.php, there is a post looping at the bottom of the template. Single-100.php and single-php, however, are working exactly as they should. What am I missing? A tick? Paren? Could someone who isn't cross-eyed have a look for me?

    Thank you in advance!

  2. intricateartist
    Member
    Posted 5 years ago #

    I'd delete this if I could - I've resolved it by creating a new default single post template and adding an "else" into the code above to call it in, clearing the single.php of anything but this hack.

  3. dwaynne
    Member
    Posted 5 years ago #

    Sorry, intricateartist, but i'm not sure I followed the solution. Can you break it down a lil more? It sounds like what I am after.

  4. lexhair
    Member
    Posted 5 years ago #

    I think I'd write this differently like so:

    <?php
    $post = $wp_query->post;
    if ( in_category('26') ) {
      include(TEMPLATEPATH . '/single-26.php');
    
    } elseif ( in_category('100') ) {
      include(TEMPLATEPATH . '/single-100.php');
    }
      else {
    include (TEMPLATEPATH.'/single-3.php');
    }
    ?>

    Assuming your single-3.php is your "catch all" template. You don't need a return or a get_header() in this script. get_header() needs to be in whichever template you are redirecting to.

Topic Closed

This topic has been closed to new replies.

About this Topic

Tags

No tags yet.