从WooCommerce产品的WP_QUERY循环输出到类别的链接

时间:2017-07-24 作者:designlobby

我有一个输出特色产品的WP\\U查询。对于每个产品,我也想链接到该产品的类别,但我不确定如何链接。

我认为这接近于我的答案,但我不知道如何将其综合起来。How to get category link without a database query

到目前为止,我的问题是:

<?php
  $args = array(
    \'post_type\' => \'product\',
    \'tax_query\' => array(
      array(
        \'taxonomy\' => \'product_visibility\',
        \'field\'    => \'name\',
        \'terms\'    => \'featured\',
        \'operator\' => \'IN\'
      ),
    ),
    \'posts_per_page\' => 8
  );
  $loop = new WP_Query( $args ); ?>

<ul class="product-list">

  <?php while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
  <li class="product-list__item">

    <a href="<?php echo get_permalink( $loop->post->ID ) ?>"
      <?php the_title(); ?>
    </a>

    Link to the product category here!
非常感谢您的帮助。

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

您可以使用get_the_term_list() 要输出以逗号分隔的产品类别链接列表,请执行以下操作:

<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
    <li class="product-list__item">
        <a href="<?php the_permalink() ?>">
            <?php the_title(); ?>
        </a>

        <?php echo get_the_term_list( get_the_ID(), \'product_cat\', \'\', \', \' ); ?>
    </li>
<?php endwhile; ?>
请注意,当您处于“循环”内部时(即$loop->the_post();endwhile) 您不需要将ID传递给get_permalink(), 你可以使用the_permalink().

此外,在代码中,您缺少最后一个> 从开始锚定标记,确保修复该标记。

结束