循环在Single-Product.php页面中不起作用,但在普通页面中起作用

时间:2012-01-24 作者:bartligthart

我正在输出一个类别列表,其中包含ul内部的帖子。这在普通页面上可以很好地工作,但在单个产品上不行。php页面。它破坏了单个产品。带有行have\\u POST的php页面。有什么问题吗?

  <?php  
  $post_type = $wp->query_vars["product"];
  $tax = \'product_category\';
  $tax_terms = get_terms($tax,\'hide_empty=0\');

  if (is_array($tax_terms)) {
    foreach ($tax_terms  as $tax_term) {
      $args=array(
        \'post_type\' => $post_type,
        "$tax" => $tax_term->slug,
        \'post_status\' => \'publish\',
        \'posts_per_page\' => -1,
        \'caller_get_posts\'=> 1
      );
      $my_query = new WP_Query($args);
      if ( $my_query->have_posts() ) {
        echo "<li><div>$tax_term->name</div>";
        echo "<ul>";
        while ($my_query->have_posts()) : $my_query->the_post(); ?>
          <li><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php  $delta_article_number = get_post_meta( get_the_ID( ), \'delta_article_number\', true );  echo $delta_article_number;  ?> <?php the_title(); ?></a></li>
          <?php
        endwhile;
        echo "</ul></li>";
      }

    }
  }
  wp_reset_postdata();  wp_reset_query();
  ?>

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

问题的一部分是“caller\\u get\\u posts”不受欢迎,现在是“ignore\\u sticky\\u posts”。

主要问题是这行“$post\\u type=$wp->query\\u vars[“product”];”,我删除了这个,并用“product”替换了$post\\u类型。

此代码有效!

  <?php  
  $tax = \'product_category\';
  $tax_terms = get_terms($tax,\'hide_empty=0\');

  if (is_array($tax_terms)) {
    foreach ($tax_terms  as $tax_term) {
      $args=array(
        \'post_type\' => \'product\',
        "$tax" => $tax_term->slug,
        \'post_status\' => \'publish\',
        \'posts_per_page\' => -1,
        \'ignore_sticky_posts\'=> 1
      );
      $my_query = new WP_Query($args);
      if ( $my_query->have_posts() ) {
        echo "<li><div>$tax_term->name</div>";
        echo "<ul>";
        while ($my_query->have_posts()) : $my_query->the_post(); ?>
          <li><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php  $delta_article_number = get_post_meta( get_the_ID( ), \'delta_article_number\', true );  echo $delta_article_number;  ?> <?php the_title(); ?></a></li>
          <?php
        endwhile;
        echo "</ul></li>";
      }

    }
  }
  wp_reset_postdata();  wp_reset_query();
  ?>

结束

相关推荐

Loop problem - Taxonomy

我想我的分类页面上的循环有问题。在我需要permalink的代码的任何部分(特别是侧栏上),它总是返回分类循环第一项的链接,但正确的是当前页面的链接。这是我的分类页面代码:<?php get_header(); ?> <div id=\"header_titulo\"> <div class=\"container\"> <?php $term_global = get_term_by(\'slug\', get_q