Ondersteuning » Thema en CSS/opmaak » Only display Woo Commerce sub-categories based on selected Parent Category

  • I have a WordPress sidebar that I want to only display the children of the parent category. My structure is as follows

    All Products > Parent Category > Children Categories

    How do I get the sidebar to only display the Parent Category and Children Categories?

    I tried this:

    Create a shortcode in your theme’s functions.php file as follows:

    add_shortcode('child_category_list', 'get_child_category_list');
    
    function get_child_category_list(){
        ob_start();
        
        // Only on product parent category pages
        if( is_product_category() ) {
            $parent = get_queried_object();
    
            $categories = get_term_children( $parent->term_id, 'product_cat' ); 
            if ( $categories && ! is_wp_error( $categories ) ) : 
    
                echo '<ul>';
                echo    '<li>';
                echo        '<a href="'.get_term_link ($parent->term_id, 'product_cat').'">'.$parent->name.'</a>';
                echo        '<ul>';
                foreach($categories as $category) :
                            $term = get_term( $category, 'product_cat' );
                            echo '<li>';
                            echo '<a href="'.get_term_link($term).'" >';
                            echo $term->name;
                            echo '</a>';
                            echo '</li>';
                endforeach;
                echo        '</ul>';
                echo    '<li>';
                echo '</ul>';
    
            endif;
        }
        return ob_get_clean();
    }

    Then, go to Appearance > Widgets, grab either shortcode or text widget into your sidebar and paste following shortecode:

    [child_category_list]

    —-

    Now it’s only visible in the sidebar at parent categories. How can I make sure the list of current child categories is also visible on the child categories itself?

    De pagina waar ik hulp bij nodig heb: [log in om de link te zien]

6 reacties aan het bekijken - 1 tot 6 (van in totaal 6)
  • Moderator Jeroen Rotty

    (@jeroenrotty)

    Support Moderator

    Hi
    These are the Dutch WordPress.org forums, so here we communicate in Dutch. If you don’t speak Dutch, feel free to join the international forums at https://wordpress.org/support/

    Hallo,
    Dit zijn de Nederlandse forums van WordPress.org, dus de voertaal hier is Nederlands. Als je enkel Engels spreekt, dan ben je meer dan welkom op de internationale forums op https://wordpress.org/support.

    Groet,
    Jeroen

    Thread starter charlotte3310

    (@charlotte3310)

    Hoi @jeroenrotty,
    Sorry, dat had ik niet begrepen.
    Dan stel ik hierbij de vraag nogmaals in het Nederlands :).

    Ik wil graag op onze webshop in de linker sidebar een categoriestructuur zien, waarbij alleen de subcategorieën van de huidige categorie zichtbaar zijn.
    Dat is deels gelukt. Op dit moment wordt het wel getoond als je op een categorie klikt.
    bijv. https://springstore.nl/product-categorie/textiel/

    Maar klik je op een subcategorie, dan verdwijnt het. Bijv. als je dan doorklikt op kussens https://springstore.nl/product-categorie/textiel/kussens/ zou het ook zichtbaar moeten zijn.

    Het is vast een kleine aanpassing in de code, maar ik kom er niet uit. Hopelijk kan iemand me helpen?

    Alvast bedankt!

    • Deze reactie is gewijzigd 3 weken, 1 dag geleden door charlotte3310.
    Guido

    (@guido07111975)

    Hoi,

    Ik heb nog niet inhoudelijk naar je code gekeken, maar kun je dit ook niet bereiken met de standaard product categorie widget van WooCommerce zelf, in combinatie met wat CSS om items te tonen of te verbergen. WooCommerce voegt unieke CSS-klassen toe aan de links van deze widget. Daaraan kun je dus CSS koppelen.

    Guido

    Guido

    (@guido07111975)

    Hoi,

    Nog even een aanvullende vraag over:

    Maar klik je op een subcategorie, dan verdwijnt het

    Als je op zo’n subcategorie staat, moeten dan alle hoofdcategorieën wel zichtbaar zijn? Want dat is heel makkelijk met wat CSS te doen, icm de standaard product categorie widget van WooCommerce zelf.

    Guido

    Thread starter charlotte3310

    (@charlotte3310)

    Hoi @guido07111975,
    Onze wens is dat als je op zo’n subcategorie staat dat dan alleen de andere subcategorieën zichtbaar zijn (dus alleen subs van dezelfde hoofdgroep). Anders wordt het bij ons zo’n lange lijst..

    Dus wat nu links staat op deze pagina: https://springstore.nl/product-categorie/textiel/
    zou ook op een subpagina moeten komen –> https://springstore.nl/product-categorie/textiel/keukentextiel/

    Snap je wat ik bedoel?

    Waarschijnlijk is het een hele kleine aanpassing aan bovenstaande code, maar ik heb daar geen kijk op en heb deze van een andere support site gekopieerd, maar dat was een oud topic en daar krijg ik geen reactie op, vandaar dat ik het hier probeer :).

    Guido

    (@guido07111975)

    Hoi,

    Ik zie dat je nu 4 hoofdcategorieën hebt:
    Keukentextiel
    Kussens
    Plaids
    Vloerkleden

    Wat je met de standaard Product categorie widget van WooCommerce kunt bereiken is een weergave van de 4 hoofdcategorieën + subcategorieën van de aangeklikte (actieve) hoofdcategorie.

    Voeg daarvoor dus de Product categorie widget aan je zijbalk toe en vink “Hiërarchie tonen” aan.
    Voeg daarna deze CSS toe op pagina Extra CSS:

    
    .widget_product_categories li li {display:none;}
    .widget_product_categories li.current-cat li {display:block;}
    

    Guido

6 reacties aan het bekijken - 1 tot 6 (van in totaal 6)