如何在 WordPress 中获取 archive.php 中的类别产品?

How to get categories product in archive.php in WordPress?

我想在存档中显示类别(来自 taxonomy-product_category)-product.php。

获取类别:

看截图我的意思:

当我在存档中添加编码时-product.php:

<?php
$args = array(
'post_type'              => 'product',
'taxonomy'               => 'product_category',
'hierarchical'           => 1,
'nopaging'               => false,
'posts_per_page'         => '2',
'posts_per_archive_page' => '10',
'ignore_sticky_posts'    => true,
'order'                  => 'rand',
);

echo '<div class="container">';
echo '<div class="row">';
// The Query
$query = new WP_Query( $args );

// The Loop
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
    $query->the_post();
    echo '<div class="col-lg-4">';
    echo '<a href="'.get_the_permalink().'">';
    if ( has_post_thumbnail() ) { 
        the_post_thumbnail(array(486,226));
    }
    the_title();
    the_content();
    echo '</a>';
    echo '</div>';
}
} else {
// no posts found
echo wpautop( 'Sorry, no posts were found' );
}
echo '</div>';
echo '</div>';
// Previous/next post navigation.
            previous_post_link( '%link', 'Prev post in category', true 
);
            next_post_link( '%link', 'Next post in category', true );
// Restore original Post Data
wp_reset_postdata();
?>

但不显示类别(水果、香草、沙拉、蔬菜)

有人知道吗?

谢谢,

肖恩。

请尝试以下代码:

$args = array(
        'taxonomy'=> 'product_category',
        'order'    => 'DESC',
        );
$categories = get_categories($args);
print_r($categories);

您可以使用以下代码获取所有产品类别的列表

    $orderby = 'name';
$order = 'asc';
$hide_empty = false ;
$cat_args = array(
    'orderby'    => $orderby,
    'order'      => $order,
    'hide_empty' => $hide_empty,
);

$product_categories = get_terms( 'product_cat', $cat_args );

if( !empty($product_categories) ){
    echo '

<ul>';
    foreach ($product_categories as $key => $category) {
        echo '

<li>';
        echo '<a href="'.get_term_link($category).'" >';
        echo $category->name;
        echo '</a>';
        echo '</li>';
    }
    echo '</ul>


';
}