Rob
Rob

Reputation: 6380

Including two similar wp_query's in one template

I've set up this query in Wordpress to find all associated news for a company:

                        <h2 class="heading">Related News</h2>   
                        <?php $link = get_the_title(); ?>
                        <?php $portfolioloop = new WP_Query( array( 'post_type' => 'news' ) ); ?>
                    <?php while ( $portfolioloop->have_posts() ) : $portfolioloop->the_post(); ?>  
                        <?php $post_link = get_post_permalink(); ?>
                        <?php $post_title = get_the_title(); ?>                        
                        <?php  if (get_field('featured_companies') != "") { ?>
                            <p style="margin:0px!IMPORTANT;">
                            <?php foreach(get_field('featured_companies') as $post): ?>
                                <?php $company = get_the_title(); ?>
                                <?php if ($company == $link) { ?>
                                    <a href="<?php echo $post_link; ?>"><?php echo $post_title; ?></a><br />
                                <?php } ?> 
                            <?php endforeach;?>
                            </p>
                        <?php } ?>
                    <?php endwhile; wp_reset_query(); ?>

I then wanted to create the same thing but find all events associated with the company. Even though news and events are setup exactly the same way it doesn't seem to work, what am I missing???

                        <h2 class="heading">Related Events</h2>
                        <?php $link_e = get_the_title(); ?> 
                        <?php $portfolioloop_e = new WP_Query( array( 'post_type' => 'events' ) ); ?>
                    <?php while ( $portfolioloop_e->have_posts() ) : $portfolioloop_e->the_post(); ?>  
                        <?php $post_link_e = get_post_permalink(); ?>
                        <?php $post_title_e = get_the_title(); ?>                        
                        <?php  if (get_field('featured_companies') != "") { ?>
                            <p style="margin:0px!IMPORTANT;">
                            <?php foreach(get_field('featured_companies') as $post_e): ?>
                                <?php $company_e = get_the_title(); ?>
                                <?php if ($company_e == $link_e) { ?>
                                    <a href="<?php echo $post_link_e; ?>"><?php echo $post_title_e; ?></a><br />
                                <?php } ?> 
                            <?php endforeach;?>
                            </p>
                        <?php } ?>
                    <?php endwhile; wp_reset_query(); ?>

I tried wp_reset_query, but I don't have any real clue what to do!

Upvotes: 0

Views: 130

Answers (1)

Marty
Marty

Reputation: 4657

how about using just query_posts? im sure this will produce the same results your looking for?

<?php
  query_posts( array('post_type'=>'news') );
  if ( have_posts() ) : while ( have_posts() ) : the_post();
?>

  <h3><?php the_title(); ?></h3>
  <?php the_content(); ?>

<?php 
endwhile; endif; wp_reset_query(); 
?>

<?php
  query_posts( array('post_type'=>'events') );
  if ( have_posts() ) : while ( have_posts() ) : the_post();
?>

  <h3><?php the_title(); ?></h3>
  <?php the_content(); ?>

<?php endwhile; endif; wp_reset_query(); ?>

hopefully its of some help..

Marty.

Upvotes: 1

Related Questions