Site logo

Archived topic

Help with sidebars

5 replies · Started by MaksymPS on November 6, 2016

Viewing posts 1–6 of 6

Hello Tom,

Is there any way to make on Shop page left-sidebar and on the Product page right-sidebar?

I have the next situation:
I installed WooCommerce Product Filter and pasted your code from this post to functions.php. As a result I have a product filter in left-sidebar. Very good. But, I need when I go to Product Page there must be right-sidebar.

I tried to find something in comments of this plugin, but they write next things:

The default product filter shouldn’t be displaying on your single product pages, unless you installed the filter using a custom action or have it as a widget in the sidebar, which you also display on single product pages (in which case you just need to set a different sidebar, without the widget, to your product pages).

However, overrides on single product pages are not supported. You can only override product archive pages.

My global option is "Content: no sidebars" and my products option (sidebar layout) is "Global Layout Settings"

Could you help me in this case, please?

Thanks in advance!

Hi there,

By "Product" page I assume you mean the single product? If so, you could try something like this:

add_filter( 'generate_sidebar_layout','generate_custom_woocommerce_sidebar_layout' );
function generate_custom_woocommerce_sidebar_layout( $layout )
{
 	// If we are on a woocommerce page, set the sidebar
 	if ( is_woocommerce() && ! is_product() )
 	 	return 'left-sidebar';

 	// If we're viewing a single product
 	if ( is_product() )
 	 	return 'right-sidebar';

 	// Or else, set the regular layout
 	return $layout;

 }

Hope this helps :)

Hello Tom,
Thanks for your answer!

But it didn't help :(
Could you visit my site and take a look what is happening: http://vetlikar.com/shop/

Now, at the present moment, I have this code in functions.php

add_filter( 'generate_sidebar_layout','generate_custom_woocommerce_sidebar_layout' );
function generate_custom_woocommerce_sidebar_layout( $layout )
{
	
 	if ( is_woocommerce() )
 	 	return 'left-sidebar'; 	

 	if ( is_product() )
 	 	return 'right-sidebar';

 }

And can't understand why it does not as it should be (left-sidebar shop, right-sidebar product page)

Thanks in advance!

I just adjusted the function - can you give it another shot?

AWESOME!

You are the best! Thanks a lot!
I will buy you a coffee :)

Thanks! :)

This archived topic is closed to new replies.