第二个wp_Query似乎不起作用

时间:2012-02-28 作者:Rob

我在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\\u reset\\u查询,但我不知道该怎么做!

2 个回复
最合适的回答,由SO网友:Rob 整理而成

我补充道$post_e 到这条线,它起作用了:

<?php $company_e = get_the_title($post_e); ?>
谢谢你们的帮助,这引发了一些想法。

SO网友:Michelle

因为您正在调用get\\u post\\u permalink等,所以我认为您可能需要添加wp\\u reset\\u postdata();此外,根据法典中的这一节:

http://codex.wordpress.org/Class_Reference/WP_Query#Interacting_with_WP_Query

希望这有帮助,祝你好运!

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post