0

I'm trying to essentially filter Woocommerce products by looping through the terms and allowing the user to click the permalink which will take them to a page which filters the products based on what was clicked:

if ( is_array( $brands ) ) {
    echo '<div class="filters__brand">
            <div class="filters__tab" data-filter-toggle="">
                <span class="filters__iden">Brands</span>
                <span class="filters__close"></span>
            </div>
            <div class="filters__itemwrapper">';
    foreach ( $brands as $brand ){
        echo '<div><a style="color:black" href="' . htmlentities( add_query_arg( 'pwb-brand', $brand->slug, $page_link ) ) . '">' . $brand->name . '</a></div>';
    }
    echo '<li><a href="' . htmlentities( remove_query_arg( 'pwb-brand', $page_link ) ) . '">None</a></li>';
    echo '</div> </div>';
}

if ( is_array( $categories ) ) {
    echo '<div class="filters__cat">
            <div class="filters__tab" data-filter-toggle="">
                <span class="filters__iden">Type</span>
                <span class="filters__close"></span>
            </div>
            <ul class="filters__itemwrapper">';
    foreach ( $categories as $category ) {
        echo '<li><a style="color:black" href="' . htmlentities( add_query_arg( 'product_cat', $category->slug, $page_link ) ) . '">' . $category->name . '</a></li>';
    }
    echo '<li><a href="' . htmlentities( remove_query_arg( 'product_cat', $page_link ) ) . '">None</a></li>';
    echo '</ul></div>';
} ?>

This works fine.

However, what I need to achieve is instead of the URL being:

/our-products/?pwb-brand=example-brand

I'd like to use WP's rewriting functionality to essentially make it:

/our-products/pwb-brand/example-brand

While looking for solutions online, and adding a couple of different rewriting functions to my functions.php file I managed to get my local build to navigate to:

/our-products/pwb-brand/example-brand

But instead of the filtered products being displayed it was rendering all products. So it looks like the filter doesn't work when using rewrites? I could be mistaken however.

Any help would be appreciated.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.