Facebook
From Władysław, 6 Years ago, written in PHP.
Embed
Download Paste or View Raw
Hits: 248
  1. Mam taki mały skrypcik do nawigowania po kategoriach Woocommerce w wordpress'ie
  2. Generalnie wszystko działa ok, ale...
  3.  
  4. Jedyne co mu "dolega" to to co pokazuje na poniższym przykładzie.
  5.  
  6.  
  7. np. struktura menu wygląda mniej wiecej tak
  8.  
  9.  
  10. 1. Rodzic
  11. 1.1 Dziecko
  12. 1.2 Dziecko
  13. 1.3 Dziecko
  14. 1.3.1 Wnuk
  15. 1.3.2 Wnuk
  16. 2. Rodzic
  17. 2.1 Dziecko
  18. 2.2 Dziecko
  19. 2.3 Dziecko
  20. 2.3.1 Wnuk
  21. 2.3.2 Wnuk
  22.  
  23.  
  24. Działa to na ten moment tak:
  25.  
  26. Klikam 1. Rodzic - tutaj jest ok
  27. Wyświetla:
  28. 1.1 Dziecko
  29. 1.2 Dziecko
  30. 1.3 Dziecko
  31.  
  32. Klikam 1.1 Dziecko (Dziecko które nie ma już wnuków)
  33. Wyświetla:
  34. 1.1 Dziecko
  35. 1.2 Dziecko
  36. 1.3 Dziecko
  37. 1.3.1 Wnuk - tego nie powinno
  38. 1.3.2 Wnuk - tego nie powinno
  39.  
  40. Klikam 1.3 Dziecko (Dziecko, które ma wnuki)
  41. Wyświetla:
  42. 1.1 Dziecko - tego nie powinno
  43. 1.2 Dziecko - tego nie powinno
  44. 1.3 Dziecko - tego nie powinno
  45. 1.3.1 Wnuk
  46. 1.3.2 Wnuk
  47.  
  48. Klikam 1.3.1 Wnuk - i tutaj jest ok
  49. Wyświetla:
  50. 1.3.1 Wnuk
  51. 1.3.2 Wnuk
  52.  
  53. <?php
  54. $term = get_queried_object()->term_id;
  55. $termid = get_term($term, 'product_cat' );
  56. if($termid->parent > 0)
  57.     {
  58.         $args = array(
  59.             'orderby'       => 'name',
  60.             'order'         => 'ASC',
  61.             'hide_empty'    => false,
  62.             'child_of'      => $termid->parent,
  63.     );
  64.     $siblingproducts = get_terms( 'product_cat', $args);
  65.     foreach ($siblingproducts as $siblingproduct) {
  66.                 if ($siblingproduct->term_id == $term ) {
  67.                 echo '<li class="subcatmenu"><span class="subcatlinkmenu"><span class="fusion-megamenu-bullet"></span>';
  68.                 }
  69.                
  70.                 else {  
  71.                 echo '<li class="subcatmenu"><span class="subcatlinkmenu"><span class="fusion-megamenu-bullet"></span>';
  72.                 }  
  73.                 echo '<a href="';
  74.                 echo get_term_link( $siblingproduct );
  75.                 echo '">';
  76.                 echo $siblingproduct->name;
  77.                 echo '</a></span></li>';
  78.         }
  79.     }
  80.        
  81.         else {
  82.         $args = array(
  83.             'orderby'       => 'name',
  84.             'order'         => 'ASC',
  85.             'hide_empty'    => false,
  86.             'parent'            => $term
  87.         );
  88.     $subproducts = get_terms( 'product_cat', $args);
  89.     foreach ($subproducts as $subproduct) {
  90.         echo '<li class="subcatmenu"><span class="subcatlinkmenu"><span class="fusion-megamenu-bullet"></span><a href="'.get_term_link( $subproduct ).'">';
  91.         echo $subproduct->name;
  92.         echo '</a></span></li>';
  93. }
  94. }
  95.  
  96. ?>