Mostrar todos los productos por categoría con WooCommerce
-
-
Simplementenecesitas unbucle debucles.Dentro de su `foreach ()`,ejecute unnuevo `WP_Query ()`paratomartodos losproductosen esetérmino ... y luego recorrerlos.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
-
Creo queentiendo cómo haceresto,peronopuedoencontrarnada sobre la lista deproductospor categoría con PHP (todo lo quepuedoencontrar sontonterías de código corto).Sipuedemostrarme cómo se veese código,deberíapoder averiguarel 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
-
Nonecesita un código corto,enumerarproductospor categoríaes solo una [Consulta deimpuestos] (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
-
Sabía quenonecesitaba un código abreviado,estaba diciendo queesoeratodo lo quepudeencontrar,lo cualno ayudó.Eseenlace queproporcionastepareceprometedor,lointentarémañanae informaré,gracias.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
-
Okay.Si aúnestá atascado,edite supregunta con sunuevointento de codificación yecharé un vistazo.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 respuesta
- votos
-
- 2014-03-26
¡Lo he descubierto! El siguiente códigoenumera automáticamentetodas las categorías y laspublicaciones de cada categoría.
$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>"; } }
-
Agradable.Si desea volverse realmente loco,esposible que deseebuscaren la [API detransitorios] (https://codex.wordpress.org/Transients_API) ... que lo ayudaría aevitarejecutartantas consultasen cada carga depágina.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
-
¿Cómopuedo obtener lasminiaturas deimágenespara cada categoría?How can I get the image thumbnails for each category?
- 0
- 2016-03-06
- Alyssa Reyes
-
Las categorías de @AlyssaReyesnotienen inherentementeminiaturas;¿Ha configurado un campopersonalizadopara sus categoríasparaesto?¿Podríaspublicarestoen unanuevapregunta conmás detalles yenviarmeelenlacepara quepuedaentenderlomejor?@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
-
Gracias hombre,me ahorraste algo detiempo yme pusisteen la dirección correcta.La únicaformaen quepodríamejoraresta respuestaes usar la clase de consultaincorporada de WooCommerce: `WC_Product_Query`,en lugar de` WP_Query`,luego usar unbucle `foreach`en lugar de unbucle` while`.Por las razones,eche un vistazo a la documentación de Githubpara la consulta: https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query#description,pero laesenciaes:> "Esprobable que las consultas WP_Queriespersonalizadasromper su códigoen futuras versiones de WooCommerce amedida que los datos semuevan haciatablaspersonalizadaspara unmejor rendimiento ".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
Con WooCommerce,quieromostrartodas las categorías de unatienda comotítulos,contodos susproductosenumerados a continuaciónen una lista desordenada. ¿Esposible haceresto? He visto algunas cosas queme permitiránmostrar una lista de categorías o una lista deproductospara una categoríaespecífica,peronada que recorratodo de laforma que describí.
Estoes lo queestoy usando actualmenteparaenumerartodas las categorías: