WooCommerce - Comment afficher la catégorie de produit au-dessus du produit?
-
-
Pourquoi cette questionest hors sujet,XD .....Why this question is off topic, XD.....
- 0
- 2016-06-07
- Brethlosze
-
2 réponses
- votes
-
- 2013-03-10
Letitre duproduitest ajouté au hook
woocommerce_single_product_summary
à lapriorité 5,vous voudrez donc ajouter aumême hook avec uneprioritéinférieure (antérieure).Vous l'ajouteriez aufichierfunctions.php de votrethème.Je suppose que lorsque vous dites "catégorie",vous voulez dire la catégorie deproduit WooCommerce,donc cela devrait renvoyer lapremièreet l'imprimer avant letitre duproduit: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 );
-
Mercibeaucoup!votre solution atrèsbien fonctionnéet oui,vous avezbien deviné queje parlais de la catégorie deproduit WooCommerce,pas de la catégorie depage 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
-
Génial!Si cela afonctionnéet a résolu votre question,pouvez-vous la sélectionner comme réponse?Great! If it worked and solved your question can you select it as the answer?
- 0
- 2013-03-18
- helgatheviking
-
salut helgatheviking,Merciencorepour votre aide.désolé,je suis un débutantet jene voispas commentmarquer ceci comme répondu?!?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
-
Il devrait y avoir une coche à côté detoutes les réponses.Lorsque vous cliquez dessus,il devient vertpourindiquer que c'est labonne réponse.Le choix des réponsesmaintient votrepourcentage afin que lesgens soientplus susceptibles de vous aider à l'avenir.Veuillez lire lapartie "Commentposer des questions" de la [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
-
Mercipour cette solution.Maisj'ai une catégorie deproduitset à l'intérieur d'une sous-catégorie deproduits.Lorsquej'ajoute le code ci-dessus,seule la sous-catégorie deproduitestimprimée.Commentpuis-jeimprimer lepremierparent de cet arbre?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
vous avezbesoin de lafonctionget_categories,quiprend les arguments suivants:
get_categories( $separator, $before, $after )
donc dans saforme simple (en supposant qu'une seule catégorieparproduit),ajoutez simplement
<?php echo $product->get_categories(); ?>
à votre content-product.php (ligne 53). Si vous avezplus de catégories,vouspouvez lefaire comme sur lapageproduit unique:<?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>' ); ?>
-
notez que si vous souhaitez afficher letitre au-dessus de la vignette,vous devez lemettre à la ligne 43,mais cela complique les choses cartoutebalise «vente»,etc.pourrait resteren place (au lieu de se déplacer avec la vignette).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
-
J'ai dû utiliser $ _product->get_categories (avec letrait de soulignement dans $ _product)et cela atrèsbien fonctionné,merci!I had to use $_product->get_categories (with the underscore in $_product) and it worked great.Thanks!
- 0
- 2017-02-09
- Peanuts
Je suis unnovice dans lamodification de wooCommerce. J'espère que quelqu'unpourram'aider avec unproblème queje rencontreen essayant d'apporter unemodificationmineure aupluginpour qu'il corresponde à une demande demon client.
J'essaye demodifier WooCommercepour afficher lenom de la catégoriepour chaqueproduit. Je souhaite que lenom de la catégorie apparaisse au-dessus de l'image duproduit sur lapageprincipale de laboutique . (la vue où denombreuxproduits sont affichés à l'écran à lafois)
J'ai cherchépartoutet jen'arrivepas àtrouver comment appeler la catégorieproduit->pour obtenir lenom de la catégoriepour chaqueproduit affiché.
Dans lesfichiers wooCommerce,j'aitrouvé content-product.php
(danstemplates/content-product.php)
et j'aimeraisinjecter la catégoriepour chaqueproduiten ajoutant à cette action:
do_action( 'woocommerce_before_shop_loop_item_title' );
Je comprends queje peux ajouter unefonction dans lefunctions.php demonthèmepourinjecter unnouveau code dans le '' woocommerce_before_shop_loop_item_title '
maisje n'arrivepas àtrouver comment obtenir la catégoriepour chaqueproduit.
Quelqu'unpeut-il aider? ou dites-moi oùje pourraistrouver la réponse?
toute aide seratrès appréciée,merci!