WooCommerce - Como exibir a categoria de produto acima do produto?
-
-
Por queestaperguntaestáfora dotópico,XD .....Why this question is off topic, XD.....
- 0
- 2016-06-07
- Brethlosze
-
2 respostas
- votos
-
- 2013-03-10
Otítulo doproduto é adicionado ao
woocommerce_single_product_summary
ganchonaprioridade 5,para que você desejará adicionar aomesmogancho com umaprioridadeinferior (anterior).Você adicionariaisso ao arquivo Functions.php do seutema.Presumo quando você diz "categoria" que você quer dizer a categoria deprodutos WooCommerce,entãoisso deve retornar oprimeiroe imprimi-lo antes dotítulo doproduto: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 );
-
Muito obrigado!Sua soluçãofuncionoumuitobem e sim,você adivinhou o direito queeu quis dizer a categoria deproduto WooCommerce,não a categoria depágina do 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
-
Excelente!Sefuncionoue resolveu suapergunta,vocêpode selecioná-lo como a resposta?Great! If it worked and solved your question can you select it as the answer?
- 0
- 2013-03-18
- helgatheviking
-
Oi helgatheviking,obrigadonovamentepela sua ajuda.desculpe,eu sou umnovatoe não consigo ver comomarcarisso como respondido?!?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
-
Deve haver umamarca de seleção ao lado detodas as respostas.Quando você clicanele,ficará verdepara significar queesta é a resposta correta.Escolher respostasmantém suaporcentagempara que aspessoas sejammaispropensas a ajudá-lonofuturo.Porfavor,leia o "Comofaçoperguntas"parte do [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
-
Obrigadoporesta solução.Maseutenho uma categoria deprodutoe dentro de uma categoria subproduto.Quando adiciono o código acima,apenas a categoria Sub Product éimpressa.Comopossoimprimir oprimeiropai desta árvore?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
Vocêprecisa dafunção Get_Categories,que recebe os seguintes argumentos:
get_categories( $separator, $before, $after )
Então,em seuformulário de simples (assumindo apenas uma categoriaporproduto),basta adicionar
<?php echo $product->get_categories(); ?>
para o seu conteúdo-product.php (linha 53). Se vocêtivermais categorias,vocêpodefazerissonapágina deproduto único:<?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>' ); ?>
-
Observe que,se você quiserexibir otítulo acima daminiatura,você deve colocá-lona linha 43,masisso complica as coisas como qualquertags de 'venda',etc. Poderiapermanecerno lugar (em vez de semover com aminiatura).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
-
Eutive que usar $ _Product->get_categories (com o sublinhadoem $ _Product)e funcionou ótimo.Obrigado!I had to use $_product->get_categories (with the underscore in $_product) and it worked great.Thanks!
- 0
- 2017-02-09
- Peanuts
Eu sou umnovatoem modificar o WooCommerce. Espero que alguémpossame ajudar com umproblema queestoutendo aotentarfazer umapequenamudançanopluginpara caber com uma solicitação domeu cliente.
Estoutentandomodificar o WooCommerceparaexibir onome da categoriapara cadaproduto. Eu quero que onome da categoria sejamostrado acima daimagem doprodutonapágina da lojaprincipal . (a visão ondemuitosprodutos sãomostradosnatela de uma só vez)
Euprocureipor aíe não consigoencontrar como ligarpara a categoria> Categoriapara obter onome da categoriapara cadaproduto sendoexibido.
Nos arquivos WooCommerce,encontrei Content-Product.php
(emmodelos/conteúdo-product.php)
e gostaria deinjetar a categoriapara cadaproduto adicionando aesta ação:
do_action( 'woocommerce_before_shop_loop_item_title' );
Euentendo queposso adicionar umafunçãonasfunções domeutema.Phpparainjetar algumnovo códigono '' wooCommerce_before_shop_loop_item_title '
Masnãoposso resolver como obter a categoriapara cadaproduto.
Alguémpode ajudar? oume diga ondeeupoderiaencontrar a resposta?Qualquer ajuda serámuito apreciada,obrigado!