Afficher toutes les sous-catégories d'une catégorie spécifique?
2 réponses
- votes
-
- 2013-05-30
Essayez quelque chose comme ceci:
par ID
function woocommerce_subcats_from_parentcat_by_ID($parent_cat_ID) { $args = array( 'hierarchical' => 1, 'show_option_none' => '', 'hide_empty' => 0, 'parent' => $parent_cat_ID, 'taxonomy' => 'product_cat' ); $subcats = get_categories($args); echo '<ul class="wooc_sclist">'; foreach ($subcats as $sc) { $link = get_term_link( $sc->slug, $sc->taxonomy ); echo '<li><a href="'. $link .'">'.$sc->name.'</a></li>'; } echo '</ul>'; }
par NAME
function woocommerce_subcats_from_parentcat_by_NAME($parent_cat_NAME) { $IDbyNAME = get_term_by('name', $parent_cat_NAME, 'product_cat'); $product_cat_ID = $IDbyNAME->term_id; $args = array( 'hierarchical' => 1, 'show_option_none' => '', 'hide_empty' => 0, 'parent' => $product_cat_ID, 'taxonomy' => 'product_cat' ); $subcats = get_categories($args); echo '<ul class="wooc_sclist">'; foreach ($subcats as $sc) { $link = get_term_link( $sc->slug, $sc->taxonomy ); echo '<li><a href="'. $link .'">'.$sc->name.'</a></li>'; } echo '</ul>'; }
Aterminé le code,testé,voir les commentaires
Try something like this:
by ID
function woocommerce_subcats_from_parentcat_by_ID($parent_cat_ID) { $args = array( 'hierarchical' => 1, 'show_option_none' => '', 'hide_empty' => 0, 'parent' => $parent_cat_ID, 'taxonomy' => 'product_cat' ); $subcats = get_categories($args); echo '<ul class="wooc_sclist">'; foreach ($subcats as $sc) { $link = get_term_link( $sc->slug, $sc->taxonomy ); echo '<li><a href="'. $link .'">'.$sc->name.'</a></li>'; } echo '</ul>'; }
by NAME
function woocommerce_subcats_from_parentcat_by_NAME($parent_cat_NAME) { $IDbyNAME = get_term_by('name', $parent_cat_NAME, 'product_cat'); $product_cat_ID = $IDbyNAME->term_id; $args = array( 'hierarchical' => 1, 'show_option_none' => '', 'hide_empty' => 0, 'parent' => $product_cat_ID, 'taxonomy' => 'product_cat' ); $subcats = get_categories($args); echo '<ul class="wooc_sclist">'; foreach ($subcats as $sc) { $link = get_term_link( $sc->slug, $sc->taxonomy ); echo '<li><a href="'. $link .'">'.$sc->name.'</a></li>'; } echo '</ul>'; }
Edit:
Completed the code, tested it, see comments
-
Merci,maisje ne saispas commentmettre ce code dans lemien,detoutefaçonj'aitrouvé ce code: [http://wordpress.stackexchange.com/questions/73795/how-to-split-the-categories-of-subcategories-with-thumbnails] maisilmontretoutes les catégories,j'aibesoin d'une seule catégorie sélectionnée avec ses sous-catégoriesThanks, but I don't know how to put that code into mine, anyway I found this code : [http://wordpress.stackexchange.com/questions/73795/how-to-split-the-categories-of-subcategories-with-thumbnails] but it shows All categories, I need just One category selected with its subcategories
- 0
- 2013-05-30
- Yhis
-
Mercimon ami,je l'ai copiéet collé dansmon woocommerce-template.php dans lapartie oùj'en aibesoinpour l'utiliser,maisil affichetoutes les catégorieset aucune sous-catégorie;s'il vousplaîtjeter un oeil au lien quej'aiposté ci-dessus,ça devrait être comme çamais avec une seule catégorieet ses sous-catégoriesThanks my friend, I copied and pasted it in my woocommerce-template.php in the part where I need it to use, but it displays all the categories and none subcategories; please take a look at the link I posted above, it should be like that but with only one category and its subcategories
- 0
- 2013-05-30
- Yhis
-
J'aijeté un coup d'œil au code àpartir des questions que vous avez liées.Ce que vous voulezfaireest dene faire que ce quiest associé à `$ sub_cats=get_categories ($ args2)`et à lapartie `$ args2=array (...)`,mais cela dit,ce quej'ai suggéréest àpeuprès lemême.Jene sais doncpas vraimentpourquoi celane fonctionnepaspour vous.I took a quick look at the code from the questions you linked. What you are lloking to do is only do whats associated to `$sub_cats = get_categories( $args2 )` and the `$args2 = array( ... )` part, but that said, what i suggested is pretty much the same. So I'm not really sure why it isn't working for you.
- 0
- 2013-05-30
- Nicolai
-
sije supprime `function woocommerce_subcats_from_parentcat ($parent_cat) {` celafonctionne,maisne montre que les catégoriesprincipales,pas les sous-catégories,sije copieet colle votre codetel quel,ilest vide,aucun.if I remove `function woocommerce_subcats_from_parentcat($parent_cat) {` it works, but shows only main categories, not subcategories, if I copy and paste your code as it is, it shows blank, none.
- 0
- 2013-05-30
- Yhis
-
Ok,çamontre les sous-catégorieset pas la catégorieprincipale,mais seulement sije mets '23',avec '21'toutest vide. mercipour votre aide,si vouspouviez corriger ce dernierpetit bug,ce serait superpourmoiOk, it shows subcategories and not main category, but only if I put '23', with '21' it's all blank.. thanks for your help, if you could fix this last little bug it would be great for me
- 0
- 2013-05-30
- Yhis
-
ok çamarche,j'aijustebesoin d'afficher la catégorieprincipale au-dessus des sous-catégories: CATÉGORIE PRINCIPALE - sous-chat - sous-chatok it works, i need just to show the main category above the subcategories: MAIN CATEGORY - sub cat - sub cat
- 0
- 2013-05-30
- Yhis
-
ok,mon ami,toutfonctionnebien!Mercibeaucoup!! juste unepetite question: est-ilpossible d'affichertoujours la catégorieprincipale lorsqueje clique sur une sous-catégorie?ok, my friend, everything works fine! thanks a lot!! just a small question: is it possible to show always the main category when I click on a subcategory?
- 0
- 2013-05-30
- Yhis
-
c'est certainementpossible,mais celame semble être une question,posez-la correctement;celapourrait vous aider: http://wordpress.stackexchange.com/questions/56784/get-main-parent-categories-for-a-productit certainly is possible, but it seems like a question to me, ask it properly; this might help you: http://wordpress.stackexchange.com/questions/56784/get-main-parent-categories-for-a-product
- 0
- 2013-05-30
- Nicolai
-
ouiestprobablement lameilleure solution,mais commentpuis-je appeler ces deuxfonctions dansmapage?yes probably is the best solution, but how can i call these two functions in my page?
- 0
- 2013-05-30
- Yhis
-
detoutefaçon,leproblème demeure: woocommerce_subcats_from_parentcat_by_ID ($parent_cat_ID)n'affiche que les sous-catégorieset woocommerce_subcats_from_parentcat_by_NAME ($parent_cat_NAME)n'affiche que TOUTES les catégoriesprincipales sans sous-catégorie.anyway, the problem still remains: woocommerce_subcats_from_parentcat_by_ID($parent_cat_ID) displays only sub categories, and woocommerce_subcats_from_parentcat_by_NAME($parent_cat_NAME) displays only ALL main categories with no sub.
- 0
- 2013-05-30
- Yhis
-
J'aibesoin de MAIN-> subet unefois queje clique sur sub,il devrait être lemême que leparent 'MAIN-> sub'.J'aibesoin que cegenre demenune changepas sije clique sur MAIN ou sur un sousI need MAIN->sub and once i click on sub it should be the same as parent 'MAIN->sub'. I need that this kind of menu doesn't change if I clik on MAIN or a sub
- 0
- 2013-05-30
- Yhis
-
Tout d'abord,les deuxfonctionsfonctionnentparfaitementbien pourmoi,vous utilisezpeut-être l'une d'ellesmal.Deuxièmement,vous devriez êtreen mesure d'obtenir le comportement souhaité avec lesinformationsiciet sur la question liée ci-dessus.Bonne chance!First of all, both functions are working perfectly fine for me, you are maybe using one of them wrong. Secondly, you should be able to achieve the wanted behaviour with the information here and on the question linked above. Good luck!
- 0
- 2013-05-30
- Nicolai
-
- 2014-12-11
Voici le code qui afonctionnépourmoi dans unmodèle depage (monidparent était 7):
<?php $wcatTerms = get_terms('product_cat', array('hide_empty' => 0, 'orderby' => 'ASC', 'parent' => 7, )); foreach($wcatTerms as $wcatTerm) : $wthumbnail_id = get_woocommerce_term_meta( $wcatTerm->term_id, 'thumbnail_id', true ); $wimage = wp_get_attachment_url( $wthumbnail_id ); ?> <div><a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"> <?php if($wimage!=""):?><img src="<?php echo $wimage?>" class="aligncenter"><?php endif;?></a> <h3 class="text-center"><a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"><?php echo $wcatTerm->name; ?></a></h3> </div> <?php endforeach; ?>
Here is the code that worked for me in a page template (my parent id was 7):
<?php $wcatTerms = get_terms('product_cat', array('hide_empty' => 0, 'orderby' => 'ASC', 'parent' => 7, )); foreach($wcatTerms as $wcatTerm) : $wthumbnail_id = get_woocommerce_term_meta( $wcatTerm->term_id, 'thumbnail_id', true ); $wimage = wp_get_attachment_url( $wthumbnail_id ); ?> <div><a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"> <?php if($wimage!=""):?><img src="<?php echo $wimage?>" class="aligncenter"><?php endif;?></a> <h3 class="text-center"><a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"><?php echo $wcatTerm->name; ?></a></h3> </div> <?php endforeach; ?>
J'aibesoin d'affichertoutes les sous-catégoriesen utilisant
en faitj'utilise:
C'est correctmais celan'affiche que la catégorieparenteet une seule sous-catégorie ...
Comment résoudre ceproblème?