WooCommerce - как отобразить категорию продукта над продуктом?
-
-
Почему этот вопрос не по теме,XD .....Why this question is off topic, XD.....
- 0
- 2016-06-07
- Brethlosze
-
2 ответ
- голосов
-
- 2013-03-10
Название продукта добавляется в ловушку
woocommerce_single_product_summary
с приоритетом 5,поэтому вы захотите добавить ее к той же ловушке с более низким (более ранним) приоритетом.Вы должны добавить это в файлfunctions.php вашей темы.Я полагаю,когда вы говорите «категория»,вы имеете в виду категорию продукта WooCommerce,поэтому он должен вернуть первую и напечатать ее перед названием продукта:function wpa89819_wc_single_product(){ $product_cats = wp_get_post_terms( get_the_ID(), 'product_cat' ); if ( $product_cats && ! is_wp_error ( $product_cats ) ){ $single_cat = array_shift( $product_cats ); ?> <h2 itemprop="name" class="product_category_title"><span><?php echo $single_cat->name; ?></span></h2> <?php } } add_action( 'woocommerce_single_product_summary', 'wpa89819_wc_single_product', 2 );
The product title is added to the
woocommerce_single_product_summary
hook at priority 5, so you'll want to add to the same hook with a lower (earlier) priority. You'd add this to your theme's functions.php file. I presume when you say "category" you mean the WooCommerce product category, so this should return the first one and print it before the product title:function wpa89819_wc_single_product(){ $product_cats = wp_get_post_terms( get_the_ID(), 'product_cat' ); if ( $product_cats && ! is_wp_error ( $product_cats ) ){ $single_cat = array_shift( $product_cats ); ?> <h2 itemprop="name" class="product_category_title"><span><?php echo $single_cat->name; ?></span></h2> <?php } } add_action( 'woocommerce_single_product_summary', 'wpa89819_wc_single_product', 2 );
-
Спасибо!ваше решение отлично сработало,и да,вы правильно догадались,что я имел в виду категорию продуктов WooCommerce,а не категорию страницы wordpress.Thanks so much! your solution worked great and yes, you guessed right that I meant the WooCommerce product category, not the wordpress page category.
- 0
- 2013-03-18
- user28546
-
Большой!Если это сработало и решило ваш вопрос,можете ли вы выбрать его в качестве ответа?Great! If it worked and solved your question can you select it as the answer?
- 0
- 2013-03-18
- helgatheviking
-
привет helgatheviking,еще раз спасибо за вашу помощь.извините,я новичок,и я не вижу,как отметить это как ответ?!?hi helgatheviking, Thanks again for your help. sorry I'm a newbie and i can't see how to mark this as answered?!?
- 0
- 2013-03-26
- user28546
-
Рядом со всеми ответами должна быть галочка.Когда вы нажмете на него,он станет зеленым,что означает,что это правильный ответ.Выбор ответов увеличивает ваш процент,поэтому люди с большей вероятностью помогут вам в будущем.Прочтите раздел «Как мне задавать вопросы» в [FAQ] (http://wordpress.stackexchange.com/faq)There should be a check mark next to all the answers. When you click on it it will turn green to signify that this is the correct answer. Choosing answers keeps your percentage up so people will be more likely to help you in the future. Please read the "how do I ask questions" part of the [FAQ](http://wordpress.stackexchange.com/faq)
- 0
- 2013-03-27
- helgatheviking
-
Спасибо за это решение.Но у меня есть категория продуктов и внутри категории продуктов.Когда я добавляю приведенный выше код,печатается только подкатегория продукта.Как мне распечатать первого родителя этого дерева?Thanks for this solution. But I have a product category and inside a sub product category. When I add the code above only the sub product category is printed. How can I print the first parent of this tree?
- 0
- 2015-06-20
- jpcmf80
-
- 2013-03-10
вам нужна функцияget_categories,которая принимает следующие аргументы:
get_categories( $separator, $before, $after )
поэтому в простой форме (при условии,что для каждого продукта только одна категория) просто добавьте
<?php echo $product->get_categories(); ?>
в ваш content-product.php (строка 53). Если у вас есть больше категорий,вы можете сделать это,как на странице одного продукта:<?php echo $product->get_categories( ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', sizeof( get_the_terms( $post->ID, 'product_cat' ) ), 'woocommerce' ) . ' ', '.</span>' ); ?>
you need the get_categories function, which takes the following arguments:
get_categories( $separator, $before, $after )
so in it's simples form (assuming only one category per product), just add
<?php echo $product->get_categories(); ?>
to your content-product.php (line 53). If you have more categories, you can do it like on the single product page:<?php echo $product->get_categories( ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', sizeof( get_the_terms( $post->ID, 'product_cat' ) ), 'woocommerce' ) . ' ', '.</span>' ); ?>
-
обратите внимание,что если вы хотите отобразить заголовок над миниатюрой,вы должны поместить его в строку 43,но это усложняет ситуацию,так как любые теги «продажи» и т. д. могут оставаться на месте (вместо перемещения с миниатюрой).note that if you want to display the title above the thumbnail, you should put it in line 43, but this complicates things as any 'sale' tags etc. could stay in place (instead of moving with the thumbnail).
- 0
- 2013-03-10
- Ewout
-
Мне пришлось использовать $ _product->get_categories (с подчеркиванием в $ _product),и это отлично сработало. Спасибо!I had to use $_product->get_categories (with the underscore in $_product) and it worked great.Thanks!
- 0
- 2017-02-09
- Peanuts
Я новичок в изменении wooCommerce. Я надеюсь,что кто-то сможет помочь мне с проблемой,с которой я столкнулся при попытке внести незначительные изменения в плагин,чтобы он соответствовал запросу моего клиента.
Я пытаюсь изменить WooCommerce,чтобы отображалось название категории для каждого продукта. Я хочу,чтобы название категории отображалось над изображением продукта на главной странице магазина . (вид,в котором на экране отображается сразу несколько товаров)
Я поискал и не нашел,как вызвать категориюproduct->,чтобы получить название категории для каждого показываемого продукта.
В файлах wooCommerce я нашел content-product.php
(вtemplates/content-product.php)
,и я хотел бы добавить категорию для каждого продукта,добавив к этому действию:
do_action( 'woocommerce_before_shop_loop_item_title' );
Я понимаю,что могу добавить функцию вfunctions.php моей темы,чтобы добавить новый код в '' woocommerce_before_shop_loop_item_title '
но я не могу понять,как получить категорию для каждого продукта.
может кто-нибудь помочь? или скажите,где я могу найти ответ?
Мы будем благодарны за любую помощь,спасибо!