如何在WP_QUERY中使用多个循环?

时间:2013-01-04 作者:Mihad Aiko

您好,我正在尝试将来自某个分类术语的帖子添加到cpt循环中。下面的代码是我正在使用的代码。

    <?php // Create empty array to store post ids in
 $excludes = array();

                 $args=array(
                 \'post_type\' => array (\'gallery\',\'videos\'),
     \'taxonomy\'=>\'series\',
     \'term\' => \'pretty-little-liars\',
                 \'post_status\' => \'publish\',
                );
               $my_query = new WP_Query( $args );
if ($my_query->have_posts()) : while($my_query->have_posts()) : $my_query->the_post(); ?>
但代码的问题是,我所有的帖子现在都不见了。然后我了解到我需要添加第二个循环。好的,那么在阅读之后WP_Query

我试图添加第二个循环,但它给了我一个错误,下面是我用于此的代码

        <?php // Create empty array to store post ids in
 $excludes = array();

                 $args=array(
                 \'post_type\' => array (\'gallery\',\'videos\'),
     \'taxonomy\'=>\'series\',
     \'term\' => \'pretty-little-liars\',
                 \'post_status\' => \'publish\',
                );
               $my_query = new WP_Query( $args );
if ($my_query->have_posts()) : while($my_query->have_posts()) : $my_query->the_post(); 

// Restore original Query & Post Data
wp_reset_query();
wp_reset_postdata();

/* The 2nd Query (without global var) */
$query2 = new WP_Query( $args2 );

// The 2nd Loop
if ($query2->have_posts()) : while($query2->have_posts()) : $query2->the_post();

// Restore original Query & Post Data
wp_reset_query();
wp_reset_postdata();

?>
它给了我这个错误

分析错误:语法错误,意外的$end in/hermes/bosweb/web188/b1885/ipg。celebloidcom1/tvcafe/wp内容/主题/tvcafe/archive小骗子。php在线258

我做错了什么,有人能帮我解决这个问题吗。我不打算在我的循环中使用一个单独的结构,而是更倾向于一个共同的结构。

例如,我不希望第一个循环在顶部,第二个循环在底部。我想把它们组合成一个环。

如果你需要更多信息或想看到我的整个php,请让我知道。

2 个回复
SO网友:RRikesh

正如托肖提到的above, 您没有关闭ifwhile. 如有疑问,请缩进代码以避免混淆。

$my_query = new WP_Query( $args );
if ($my_query->have_posts()) :
  while($my_query->have_posts()) :
    $my_query->the_post();
  endwhile;
endif;
wp_reset_postdata();

/* The 2nd Query (without global var) */
$query2 = new WP_Query( $args2 );

// The 2nd Loop
if ($query2->have_posts()) :
  while($query2->have_posts()) :
    $query2->the_post();
  endwhile;
endif;
wp_reset_postdata();
此外,您不需要使用wp_reset_query() 使用WP\\U查询。This question 处理这个问题。

SO网友:Dennis Smolek

查看您的文件时,您从未声明$args2,而且您的页面确实写得不正确。你只得到一篇文章,因为你没有正确地进入循环,它假设它在循环中,但它不是。

结束

相关推荐

wp-query problem with author

我运行查询:SELECT post_author FROM `wp_posts` 看到很多帖子都有作者值1。然后执行搜索。php如下所示:$args = array( \'author\' => 1, ); $the_query = new WP_Query( $args ); 没有结果!怎么了?

如何在WP_QUERY中使用多个循环? - 小码农CODE - 行之有效找到问题解决它

如何在WP_QUERY中使用多个循环?

时间:2013-01-04 作者:Mihad Aiko

您好,我正在尝试将来自某个分类术语的帖子添加到cpt循环中。下面的代码是我正在使用的代码。

    <?php // Create empty array to store post ids in
 $excludes = array();

                 $args=array(
                 \'post_type\' => array (\'gallery\',\'videos\'),
     \'taxonomy\'=>\'series\',
     \'term\' => \'pretty-little-liars\',
                 \'post_status\' => \'publish\',
                );
               $my_query = new WP_Query( $args );
if ($my_query->have_posts()) : while($my_query->have_posts()) : $my_query->the_post(); ?>
但代码的问题是,我所有的帖子现在都不见了。然后我了解到我需要添加第二个循环。好的,那么在阅读之后WP_Query

我试图添加第二个循环,但它给了我一个错误,下面是我用于此的代码

        <?php // Create empty array to store post ids in
 $excludes = array();

                 $args=array(
                 \'post_type\' => array (\'gallery\',\'videos\'),
     \'taxonomy\'=>\'series\',
     \'term\' => \'pretty-little-liars\',
                 \'post_status\' => \'publish\',
                );
               $my_query = new WP_Query( $args );
if ($my_query->have_posts()) : while($my_query->have_posts()) : $my_query->the_post(); 

// Restore original Query & Post Data
wp_reset_query();
wp_reset_postdata();

/* The 2nd Query (without global var) */
$query2 = new WP_Query( $args2 );

// The 2nd Loop
if ($query2->have_posts()) : while($query2->have_posts()) : $query2->the_post();

// Restore original Query & Post Data
wp_reset_query();
wp_reset_postdata();

?>
它给了我这个错误

分析错误:语法错误,意外的$end in/hermes/bosweb/web188/b1885/ipg。celebloidcom1/tvcafe/wp内容/主题/tvcafe/archive小骗子。php在线258

我做错了什么,有人能帮我解决这个问题吗。我不打算在我的循环中使用一个单独的结构,而是更倾向于一个共同的结构。

例如,我不希望第一个循环在顶部,第二个循环在底部。我想把它们组合成一个环。

如果你需要更多信息或想看到我的整个php,请让我知道。

2 个回复
SO网友:RRikesh

正如托肖提到的above, 您没有关闭ifwhile. 如有疑问,请缩进代码以避免混淆。

$my_query = new WP_Query( $args );
if ($my_query->have_posts()) :
  while($my_query->have_posts()) :
    $my_query->the_post();
  endwhile;
endif;
wp_reset_postdata();

/* The 2nd Query (without global var) */
$query2 = new WP_Query( $args2 );

// The 2nd Loop
if ($query2->have_posts()) :
  while($query2->have_posts()) :
    $query2->the_post();
  endwhile;
endif;
wp_reset_postdata();
此外,您不需要使用wp_reset_query() 使用WP\\U查询。This question 处理这个问题。

SO网友:Dennis Smolek

查看您的文件时,您从未声明$args2,而且您的页面确实写得不正确。你只得到一篇文章,因为你没有正确地进入循环,它假设它在循环中,但它不是。

相关推荐

Increase offset while looping

我正在编写一个自定义帖子插件,它将自定义帖子分组显示为选项卡。每组4个岗位。是否可以编写一个偏移量随每次循环而增加的查询?因此,结果将是:-第一个查询显示从1到4的帖子-第二个查询显示从5到8的帖子-第三个查询显示从9到12的帖子等。 <div class=\"official-matters-tabs\"> <?php $args = array(\'post_type\' => \'official-matters\', \'showp