phpwordpresscontent-management-systemblogsblog-post

wordpress displays all posts instead of categorised


I am trying to get different categories of posts to show on different pages so I can use them for "services" and "case studies" pages.

I have the two pages set up and they display links to each individual post, however ALL posts are displayed, not just the specific categories.

The code I have is identical on each pages except from the post category ID.

How do I display seperate categories on separate pages?

services page:

              <?php // PAGE LINK/TITLE


if (is_page()) {
  $cat=get_cat_ID($post->post_title); //use page title to get a category ID
  $posts = get_posts ("cat=$cat&showposts=4");
  if ($posts) {
    foreach ($posts as $post):
      setup_postdata($post); 

                  if ( has_post_thumbnail() ) { // PULLS IN IMAGE check if the post has a Post Thumbnail assigned to it.
    the_post_thumbnail();
} 


    ?>




      <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>

      <?php //PULLS IN EXCERPT
$my_excerpt = get_the_excerpt();
if ( '' != $my_excerpt ) {
    // Some string manipulation performed
}
echo $my_excerpt; // Outputs the processed value to the page




?>
          <?php endforeach;
  }
}
?> 

Case Studies Page:

        <?php // PAGE LINK/TITLE


if (is_page()) {
  $cat=get_cat_ID($post->post_title); //use page title to get a category ID
  $posts = get_posts ("cat=$cat&showposts=5");
  if ($posts) {
    foreach ($posts as $post):
      setup_postdata($post); 

                  if ( has_post_thumbnail() ) { // PULLS IN IMAGE check if the post has a Post Thumbnail assigned to it.
    the_post_thumbnail();
} 


    ?>




      <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>

      <?php //PULLS IN EXCERPT
$my_excerpt = get_the_excerpt();
if ( '' != $my_excerpt ) {
    // Some string manipulation performed
}
echo $my_excerpt; // Outputs the processed value to the page




?>
          <?php endforeach;
  }
}
?> 

Solution

  • ANSWER

    There is no specific category set, only the amount of posts to be displayed, in this case 10.

     <?php // PAGE LINK/TITLE
    
    
    if (is_page()) {
      $cat=get_cat_ID($post->post_title); //use page title to get a category ID
    
      $posts = get_posts ("category_name=service&posts_per_page=10"); //CHANGE CODE AND ADD THIS LINE***************************
    
      if ($posts) {
        foreach ($posts as $post):
          setup_postdata($post); 
    
                      if ( has_post_thumbnail() ) { // PULLS IN IMAGE check if the post has a Post Thumbnail assigned to it.
        the_post_thumbnail();
    } 
    
    
        ?>
    

    This sets the specific category and the number of posts (use category slug to pull it in)

    category_name=service&posts_per_page=10