Support » Fixing WordPress » How do I display 1 random article from multiple categories?

  • Okay currently I use the following code to display a random article from the category called fish:

    <?php $my_query = new WP_Query(“category_name=Feesten&showposts=$artsee_homepage_featured&orderby=rand”);
    while ($my_query->have_posts()) : $my_query->the_post();
    $do_not_duplicate = $post->ID; ?>
    <?php $thumb = get_post_meta($post->ID, ‘Featured’, $single = true); ?>

    Thought this is working fine, I do want to add 2 extra categories where the articles are randomly picked from and not just the category fish.

    E.g. I want it to display 1 (one) random article from one of the following categories: fish, chips and potatoes.

    How can I achieve this? I already tried searching the forum, but without succes. And I also tried some things myself, but I lack the knowledge to do this properly.

    So can anyone help me out here?

    Thanks a million!

Viewing 2 replies - 1 through 2 (of 2 total)
  • $my_query = new WP_Query("category_name=Feesten&showposts=$artsee_homepage_featured&orderby=rand");

    what is “$artsee_homepage_featured”? That’s a variable. Is that a typo? or is “$artsee_homepage_featured” defined as the “fish” category you’re looking for?

    For each category, you’ll need a new query:

    <?php
    $fish = new WP_Query(category_name=fish&showposts=1&order_by=rand');
    if($fish->have_posts()) : while($fish->have_posts()) : $fish->the_post(); ?>
    put in your stuff for the display of the "fish" post
    <?php endwhile; endif; ?>
    
    <?php
    $chips = new WP_Query(category_name=chips&showposts=1&order_by=rand');
    if($chips->have_posts()) : while($chips->have_posts()) : $chips->the_post(); ?>
    put in your stuff for the display of the "chips" post
    <?php endwhile; endif; ?>

    etc.

    actually, the easiest way to do this is to actually copy and paste code directly from wordpress codex. Just go to:

    http://codex.wordpress.org/Template_Tags/get_posts

    and the answer is right there:

    <ul><li><h2>A random selection of my writing</h2>
        <ul>
     <?php
     $rand_posts = get_posts('numberposts=5&orderby=rand');
     foreach( $rand_posts as $post ) :
     ?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
     <?php endforeach; ?>
        </ul>
     </li></ul>

    so basically, do what the guy above says (make multiple ones), but keep changing the name is all. Above code will do ’em all.

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘How do I display 1 random article from multiple categories?’ is closed to new replies.