• PaulWarren

    (@paulwarren)


    In my sidebar I am using this code to display 8 recent posts from whatever category is being viewed: `<?php $post_cats=wp_get_post_categories($post->ID);?>
    <?php
    $args=array(
    ‘showposts’=>8,
    ‘cat’=>$post_cats[0]
    );
    $postslist = get_posts($args);
    if ($postslist) {
    foreach ($postslist as $mypost) :
    ?>

    • ID); ?>”><?php echo $mypost->post_title; ?>
    • <?php endforeach;
      }
      }
      ?>`

      When the category is empty, There should be nothing displayed – instead, I am getting posts from a different category. There must be an easy way to fix this…

Viewing 4 replies - 1 through 4 (of 4 total)
  • richarduk

    (@richarduk)

    First question: are you absolutely sure that the other posts aren’t also in this category? i.e. you don’t have posts that are in several categories?

    MichaelH

    (@michaelh)

    Doesn’t every post need to have at least one category? That code looks to return the first category on the post. Put an <?php echo 'post cat '. $post_cats; ?> after $post_cats=wp_get_post_categories($post->ID);?> to see what category it is using.

    Thread Starter PaulWarren

    (@paulwarren)

    Michael –

    When I add the bit of php you mentioned I get “post cat Array” instead of the category.

    Yes, Richard – I am sure that they are not in multiple categories. This really isn’t the issue anyway. The issue only appears when there are NO posts in the given category.

    Paul

    richarduk

    (@richarduk)

    Okay, obvious solution: make sure every category has a post. Put it a million light years into the future, if necessary, if you haven’t written any posts for that category yet.

    Next solution, rewrite your code. Trim out the bits you don’t need from here: https://www.darrenhoyt.com/2008/06/11/displaying-related-category-and-author-content-in-wordpress/

    Have a proper loop in the sidebar. Use code along these lines when using multiple loops:

    <?php $plums_loop = new WP_Query('category_name=special_cat&showposts=10'); ?>
    <?php while ($plums_loop->have_posts()) : $plums_loop->the_post(); ?>
      <!-- Do  stuff... -->
    <?php endwhile; ?>
     <?php wp_reset_query();?>
Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘pulling recent posts from a random category or none if category is empty’ is closed to new replies.