tags:

views:

62

answers:

1

the bellow function is working fine but I need to run it inside the loop. If done so the post content is actually taken from the last post of my WP_Query. Not from the one that should appear.

Is there any way to run my query and leave The Loop unaffected?

function recent_post_by_author() {
  echo '<div class="recent_post_by_author">';
  $my_query = new WP_Query('author_name=Radek&showposts=2');
  while ($my_query->have_posts()) : $my_query->the_post(); ?>
  <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"> <?php the_title(); ?></a><BR>
  <?php endwhile;
  echo '</div>';
}
+1  A: 

Are you missing some php opening and closing tags when enclosing the new query in the function? This works as a standalone new query loop that can be used multiple times inside the main WP loop:

<?php $my_query = new WP_Query('author_name=Radek&showposts=2'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
<?php the_title(); ?></a>
<?php endwhile; ?>
songdogtech
I am not missing any tags. My code is working with no errors
Radek
Why are you using the new query in a function? Do you need to do that?
songdogtech
@songdogtech: Are you sure it won't affect my already running loop? If yes, then I'm in luck coz I need to do this.
Aayush