Tagged: x
-
AuthorPosts
-
July 5, 2016 at 5:19 pm #1073756
MoonworksParticipantIs there a way to show the sidebar on the product page?
I get the sidebar on other pages, such as the cart & checkout, but not the product page.
I have the WooCommerce Currency Converter plugin, so it would be good to allow that to work when they first see the pricing.
Thanks.
July 5, 2016 at 10:27 pm #1074110
Prasant RaiModeratorHello There,
Thanks for writing in!
To add sidebar for single product add this code in functions.php file located in child theme:
if ( ! function_exists( 'x_get_content_layout' ) ) : function x_get_content_layout() { $stack = x_get_stack(); $content_layout = x_get_option( 'x_' . $stack . '_layout_content', 'content-sidebar' ); if ( $content_layout != 'full-width' ) { if ( is_home() ) { $opt = x_get_option( 'x_blog_layout', 'sidebar' ); $layout = ( $opt == 'sidebar' ) ? $content_layout : $opt; } elseif ( is_singular( 'post' ) ) { $meta = get_post_meta( get_the_ID(), '_x_post_layout', true ); $layout = ( $meta == 'on' ) ? 'full-width' : $content_layout; } elseif ( x_is_portfolio_item() ) { $layout = 'full-width'; } elseif ( x_is_portfolio() ) { $meta = get_post_meta( get_the_ID(), '_x_portfolio_layout', true ); $layout = ( $meta == 'sidebar' ) ? $content_layout : $meta; } elseif ( is_archive() ) { if ( x_is_shop() || x_is_product_category() || x_is_product_tag() || x_is_product() ) { $layout = 'content-sidebar'; } else { $opt = x_get_option( 'x_archive_layout', 'sidebar' ); $layout = ( $opt == 'sidebar' ) ? $content_layout : $opt; } } elseif ( x_is_product() ) { $layout = 'content-sidebar'; } elseif ( x_is_bbpress() ) { $opt = x_get_option( 'x_bbpress_layout_content', 'sidebar' ); $layout = ( $opt == 'sidebar' ) ? $content_layout : $opt; } elseif ( x_is_buddypress() ) { $opt = x_get_option( 'x_buddypress_layout_content', 'sidebar' ); $layout = ( $opt == 'sidebar' ) ? $content_layout : $opt; } elseif ( is_404() ) { $layout = 'full-width'; } else { $layout = $content_layout; } } else { $layout = $content_layout; } if ( is_page_template( 'template-layout-content-sidebar.php' ) ) { $layout = 'content-sidebar'; } elseif ( is_page_template( 'template-layout-sidebar-content.php' ) ) { $layout = 'sidebar-content'; } elseif ( is_page_template( 'template-layout-full-width.php' ) ) { $layout = 'full-width'; } return $layout; } endif; add_filter( 'ups_sidebar', function ( $default_sidebar ) { $sidebars = get_option( 'ups_sidebars' ); foreach ( $sidebars as $id => $sidebar ) { if ( x_is_shop() || x_is_product_category() || x_is_product_tag() || x_is_product() ) { if ( array_key_exists( 'index-shop', $sidebar ) && $sidebar['index-shop'] == 'on' ) { return $id; } } } return $default_sidebar; }, 9999 );July 6, 2016 at 5:05 am #1074469
MoonworksParticipantThank you.
Is there somewhere in the code where I can select the sidebar to be shown?
July 6, 2016 at 5:57 am #1074537
ChristopherModeratorHi there,
Please add this code in child theme’s functions.php file :
add_filter( 'ups_sidebar', 'product_sidebar', 9999 ); function product_sidebar ( $default_sidebar ) { if ( x_is_product() ) return 'the-id-of-the-sidebar'; //Must match the ID of your target sidebar return $default_sidebar; }Hope that helps.
July 6, 2016 at 7:56 am #1074685
MoonworksParticipantthank you
July 6, 2016 at 8:06 am #1074700
JoaoModeratorYou are welcome.
Let us know if we can help with anything else.
Joao
-
AuthorPosts
- <script> jQuery(function($){ $("#no-reply-1073756 .bbp-template-notice, .bbp-no-topic .bbp-template-notice").removeClass('bbp-template-notice'); }); </script>
