Como obter todos os produtos da categoria de produtos WooCommerce atual?

newbieneedshelp

Personalizando meu archive-product.php. Como posso mostrar apenas produtos dentro de uma determinada categoria em um loop personalizado? Essa pergunta semelhante não resolveu meu problema. Tentei single_cat_title()obter a categoria atual com base nesta pergunta, mas obtive um erro. Acho que preciso usar com get_queried_object()base nesta documentação, mas continuo recebendo erros.

Eu tentei isso:

<?php 
$category = single_cat_title('', false); // this returns your current category ?>

<?php
// Setup your custom query
$args = array( 
    'post_type' => 'product', 
    'product_cat' => $category,
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>

    <?php the_post_thumbnail(); ?>
        <br>
<?php endwhile; wp_reset_query(); // Remember to reset ?>

Eu também tentei:

`$term_name = get_queried_object()->name;`
    // Setup your custom query
    $args = array( 
        'post_type' => 'product', 
        'product_cat' => $term_name, );
LoicTheAztec

Atualizada

Nas páginas de arquivo de categoria de produto, para obter o termo da categoria de produto atual, você usará:

O uso direto do parâmetro de taxonomia em uma WP_Query está obsoleto desde o WordPress 3.1. Em vez disso, você usará uma consulta fiscal da seguinte maneira:

<?php
// Get The queried object ( a WP_Term or a WP_Post Object)
$term = get_queried_object();

// To be sure that is a WP_Term Object to avoid errors
if( is_a($term, 'WP_Term') ) :

// Setup your custom query
$loop = new WP_Query( array(
    'post_type'      => 'product',
    'posts_per_page' => -1,
    'post_status'    => 'publish',
    'tax_query'      => array( array(
        'taxonomy' => 'product_cat', // The taxonomy name
        'field'    => 'term_id', // Type of field ('term_id', 'slug', 'name' or 'term_taxonomy_id')
        'terms'    => $term->term_id, // can be an integer, a string or an array
    ) ),
) );

if ( $loop->have_posts() ) :
while ( $loop->have_posts() ) : $loop->the_post();
echo '<div style="margin:8px; text-align:center;">
    <a href="'.get_the_permalink().'">';
the_post_thumbnail();
the_title();
echo '</a></div>';
endwhile;
wp_reset_postdata(); // Remember to reset
endif; endif;
?>

Testado e funciona.

Documentação: WP_Querye parâmetros de taxonomia

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Obtenha todos os produtos Woocommerce da ID do termo da categoria de produto atual em uma WP_Query

Usando Laravel Eloquent precisa obter todos os produtos de acordo com a id da categoria

Como definir a categoria para woocommerce de produtos

Como posso obter os fabricantes de todos os produtos?

Como obter os nomes de todos os produtos?

Como obter URLs de imagem da Galeria de produtos Woocommerce?

Como obter todos os produtos de uma página beautifulsoup

Obtenha todos os produtos WooCommerce de uma categoria com metadados específicos

WooCommerce oculta todos os produtos de uma determinada categoria se não estiver logado

como posso obter produtos para uma categoria específica de restapi woocommerce usando php

Como obter a soma do grupo por categoria da lista de produtos

Como consultar todos os produtos relacionados a uma categoria específica no banco de dados mysql laravel

Como posso classificar meus produtos de woocommerce na página da loja por categoria

Como obter produtos de woocommerce no idioma atual com WP_Query?

Obter todos os IDs de produtos de categorias de comércio woocommerce

Defina os preços dos itens da categoria de produtos Woocommerce quando um ID de produto específico estiver no carrinho

WordPress - como obter todos os produtos em JSON?

Como encontrar os produtos que vencem no final de semana da semana atual?

WooCommerce - Marque todos os produtos como sem destaque

Como posso obter / exibir os produtos mais vendidos do WooCommerce

Defina todos os novos produtos automaticamente como produtos virtuais por padrão no Woocommerce

Como obter a quantidade de variantes em todos os produtos em um projeto de commercetools?

Lista de produtos da categoria fornecida

Defina o status de todos os produtos como "esgotado" com base na contagem de pedidos no Woocommerce

Exibir atributos de produtos personalizados do WooCommerce e todos os termos de produtos individuais

Como listar todos os produtos da Platform of Trust?

Como atribuir todos os produtos em uma categoria a todas as categorias ancestrais de maneira programática, no Magento 2

Raspagem de dados para paginação dos produtos para obter todos os detalhes dos produtos

Obtenha todos os IDs de produtos Woocommerce em uma matriz

TOP lista

quentelabel

Arquivo