在一个模板中包含两个类似的wp_query

时间:2012-02-28 13:28:19

标签: php wordpress

我已在Wordpress中设置此查询以查找公司的所有相关新闻:

                        <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(); ?>

然后我想创建相同的东西,但找到与公司相关的所有事件。即使新闻和事件的设置方式与它似乎不起作用的方式完全相同,但我还缺少什么?

                        <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(); ?>

我试过wp_reset_query,但我没有任何真正的线索该做什么!

1 个答案:

答案 0 :(得分:1)

如何使用query_posts? 我相信这会产生你想要的相同结果吗?

<?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(); ?>
希望它能提供一些帮助..

玛蒂。