setup_postdata()中的WP_Query

时间:2016-05-26 05:30:22

标签: php wordpress

我需要使用setup_postdata()在我的页面上显示另一个页面的内容(让我们调用此页面" X")(让我们调用此页面" Y") 。

然而,X的页面有两个WP_Queries,在单独查看该页面时效果很好。但是当访问Y的页面时,wp查询后的内容搞砸了。

我知道这是因为我的wp_reset_postdata()正在重置setup_postdata()循环。

无论如何重置QUERY而不反映外部setup_postdata()循环?

X页面

<?php
get_header();
$the_slug = 'work-with-us';
$args = array('name'        => $the_slug,
              'post_type'   => 'page',
              'post_status' => 'publish',
              'numberposts' => 1);
$my_posts = get_posts($args);
global $post;
$post = $my_posts[0];
setup_postdata( $post );
include 'inc-work-with-us.php';
wp_reset_postdata();
get_footer();
?>

Y页面查询

<?php
  $args = array(
    'post_type' => 'positions',
    'orderby' => 'title',
  );
  $location_loop = new WP_Query($args);
  if($location_loop->have_posts()) :

    while($location_loop->have_posts()) : $location_loop->the_post();
    echo 'hey';
    endwhile;

  endif;
  wp_reset_query();
?>

0 个答案:

没有答案