Exibir todos os produtos por categoria com WooCommerce
-
-
Você simplesmenteprecisa de um loop de loops.Dentro do seu `foreach (),execute umnovo` wp_query () `parapegartodos osprodutosnessetermo ..e então loop através daqueles.You simply need a loop of loops. Inside your `foreach()`, run a new `WP_Query()` to grab all the products in that term.. and then loop through those.
- 0
- 2014-03-25
- helgatheviking
-
Acho queentendo comofazerisso,masnão consigoencontrarnada sobre listagem deprodutospor categoria com PHP (tudo quepossoencontrar é um absurdo de shortcode).Se vocêpuderme mostrar o quepareceesse código,eu deveria ser capaz de descobrir o resto.I think I understand how to do this, but I can't find anything about listing products by category with PHP (all I can find is shortcode nonsense). If you can show me what that code looks like, I should be able to figure out the rest.
- 0
- 2014-03-25
- JacobTheDev
-
Vocênãoprecisa de um shiftcode,listarprodutospor categoria é apenas uma [consulta deimposto] (http://codex.wordpress.org/class_reference/wp_query#taxonomy_parameters).You don't need a shortcode, listing products by category is just a [Tax Query](http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters).
- 2
- 2014-03-25
- helgatheviking
-
Eu sabia quenãoprecisava de um shicecode,euestava dizendo que étudo queeupodiaencontrar,o queerainútil.Aquele link que vocêforneceuparecepromissor,vou dar uma chance amanhãe reportar,obrigado.I knew I didn't need a shortcode, I was saying that's all I could find, which was unhelpful. That link you provided looks promising, I'll give it a shot tomorrow and report back, thanks.
- 0
- 2014-03-25
- JacobTheDev
-
OK.Se você aindaestiverpreso,edite suapergunta com suanovatentativa de codificaçãoe darei uma olhada.Ok. If you are still stuck, edit your question with your new coding attempt and I'll take a look.
- 1
- 2014-03-25
- helgatheviking
-
1 responda
- votos
-
- 2014-03-26
descobri! O código abaixo lista automaticamentetodas as categoriase cada categoriaspostagens!
$args = array( 'number' => $number, 'orderby' => 'title', 'order' => 'ASC', 'hide_empty' => $hide_empty, 'include' => $ids ); $product_categories = get_terms( 'product_cat', $args ); $count = count($product_categories); if ( $count > 0 ){ foreach ( $product_categories as $product_category ) { echo '<h4><a href="' . get_term_link( $product_category ) . '">' . $product_category->name . '</a></h4>'; $args = array( 'posts_per_page' => -1, 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'product_cat', 'field' => 'slug', // 'terms' => 'white-wines' 'terms' => $product_category->slug ) ), 'post_type' => 'product', 'orderby' => 'title,' ); $products = new WP_Query( $args ); echo "<ul>"; while ( $products->have_posts() ) { $products->the_post(); ?> <li> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> </li> <?php } echo "</ul>"; } }
Figured it out! The code below automatically lists all categories and each categories posts!
$args = array( 'number' => $number, 'orderby' => 'title', 'order' => 'ASC', 'hide_empty' => $hide_empty, 'include' => $ids ); $product_categories = get_terms( 'product_cat', $args ); $count = count($product_categories); if ( $count > 0 ){ foreach ( $product_categories as $product_category ) { echo '<h4><a href="' . get_term_link( $product_category ) . '">' . $product_category->name . '</a></h4>'; $args = array( 'posts_per_page' => -1, 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'product_cat', 'field' => 'slug', // 'terms' => 'white-wines' 'terms' => $product_category->slug ) ), 'post_type' => 'product', 'orderby' => 'title,' ); $products = new WP_Query( $args ); echo "<ul>"; while ( $products->have_posts() ) { $products->the_post(); ?> <li> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> </li> <?php } echo "</ul>"; } }
-
Legal.Se você quiserficar realmente louco,pode querer olharpara a [Transients API] (https://codex.wordpress.org/transients_api) ... que ajudaria aevitar que vocêexecutetantas consultasem todas aspáginas.Nice. If you want to get really crazy you might want to look into the [Transients API](https://codex.wordpress.org/Transients_API)... that would help keep you from running so many queries on every page load.
- 0
- 2014-03-26
- helgatheviking
-
Comoposso obter asminiaturas daimagempara cada categoria?How can I get the image thumbnails for each category?
- 0
- 2016-03-06
- Alyssa Reyes
-
@Alyssareyes Categoriasnãotêminerentementeminiaturas;Você configurou um campopersonalizadopara suas categoriasparaisso?Vocêpoderiapostarissoem umanovapergunta commais detalhese meenviar o linkpara queeupossaentendermelhor?@AlyssaReyes categories don't inherently have thumbnails; did you set up a custom field for your categories for this? Could you post this in a new question with more detail and send me the link so I can better understand?
- 0
- 2016-03-07
- JacobTheDev
-
Obrigado homem,vocême salvou algumtempoe me colocouna direção certa.A únicamaneira queeupoderiamelhoraresta resposta é usar a classe de consultaintegrada do WooCommerce: `wc_product_query`,em vez de` wp_query`,então use um loop de 'foreach'em vez de um loop 'enquanto.Por razõespelas quais,dê uma olhadana documentação do Githubpara a consulta: https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-wc_product_query#description,mas o GIST é:> "Consultaspersonalizadas do WP_QueriesprovavelmenteQuebre seu códigoem versõesfuturas do WooCommerce como dados semoveparatabelaspersonalizadasparamelhor desempenho. "Thanks man, you saved me some time and set me in the right direction. The only way I could improve this answer is to use WooCommerce's built-in query class: `WC_Product_Query`, instead of `WP_Query`, then use a `foreach` loop instead of a `while` loop. For reasons why, take a look at the Github documentation for the query: https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query#description, but the gist is: > "custom WP_Queries queries is likely to break your code in future versions of WooCommerce as data moves towards custom tables for better performance."
- 1
- 2019-07-05
- UncaughtTypeError
Com WooCommerce,queroexibirtodas as categoriasem uma loja comotítulos,comtodos os seusprodutos listados abaixoem uma listanão ordenada. Isso épossívelfazer? Eu vi algumas coisas que vãome deixarexibir uma lista de categorias ou uma lista deprodutospara uma categoriaespecífica,masnada que vai circularem tudo o queeu descrevi.
Aquiestá o que atualmenteestou usandopara listartodas as categorias: