Отображение всех продуктов по категориям с WooCommerce
-
-
Вам просто понадобится петля из петель.Внутри вашего `foreach ()` запустите новый `WP_Query ()`,чтобы получить все продукты в этом термине ... и затем прокрутите их.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
-
Я думаю,что понимаю,как это сделать,но я не могу найти ничего о перечислении продуктов по категориям с помощью PHP (все,что я могу найти,это чепуха с короткими кодами).Если вы покажете мне,как выглядит этот код,я смогу разобраться в остальном.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
-
Вам не нужен шорткод,список продуктов по категориям - это просто [налоговый запрос] (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
-
Я знал,что шорткод мне не нужен,я говорил,что это все,что могу найти,но это бесполезно.Ссылка,которую вы предоставили,выглядит многообещающей,я попробую завтра и сообщу,спасибо.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. 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 ответ
- голосов
-
- 2014-03-26
Разобрался! В приведенном ниже коде автоматически перечислены все категории и сообщения каждой категории!
$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>"; } }
-
Ницца.Если вы действительно хотите сходить с ума,вы можете заглянуть в [Transients API] (https://codex.wordpress.org/Transients_API) ... который поможет вам не запускать так много запросов при каждой загрузке страницы.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
-
Как я могу получить эскизы изображений для каждой категории?How can I get the image thumbnails for each category?
- 0
- 2016-03-06
- Alyssa Reyes
-
Категории @AlyssaReyes по своей природе не имеют миниатюр;вы создали для этого настраиваемое поле для своих категорий?Не могли бы вы опубликовать это в новом вопросе с более подробной информацией и прислать мне ссылку,чтобы я мог лучше понять?@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
-
Спасибо,чувак,ты сэкономил мне время и направил меня в правильном направлении.Единственный способ улучшить этот ответ - использовать встроенный класс запросов WooCommerce: WC_Product_Query вместо WP_Query,а затем использовать циклforeach вместо цикла while.По причинам,почему,взгляните на документацию Github для запроса: https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query#description,но суть такова:> "пользовательские запросы WP_Queries,вероятно,будутсломайте свой код в будущих версиях WooCommerce,поскольку данные перемещаются в настраиваемые таблицы для повышения производительности ".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
С помощью WooCommerce я хочу отображать все категории в магазине в виде заголовков,а все их продукты перечислены ниже в неупорядоченном списке. Возможно ли это сделать? Я видел несколько вещей,которые позволяют мне отображать список категорий или список продуктов для определенной категории,но ничего,что могло бы пройти через все,как я описал.
Вот что я сейчас использую для перечисления всех категорий: