Navigation
This is archived content. Visit our new forum.

Tagged: 

  • Author
    Posts
  • #1313842
    nicola.volpi86
    Participant

    Hi, I need to know how it is possibile to add the sidebar, that I have created in the Sidebars Section, inside the product page.
    Actually the product page is full width.

    Thanks for your answer
    Regards

    #1313857
    Paul R
    Moderator

    Hi,

    To add sidebar in your product’s page, you can add the code below in your child theme’s functions.php file.

    
    function add_sidebar_product($contents) {
      
      if ( x_is_product() ) {
         $contents = 'content-sidebar';
      }
      
      return $contents;
    }
    
    add_filter('x_option_x_layout_content', 'add_sidebar_product');
    

    Hope that helps

    #1313926
    nicola.volpi86
    Participant

    It doesn’t work

    #1313932
    Paul R
    Moderator

    Hi,

    To further assist you with this issue, we’ll first need you to provide us with your URL. This is to ensure that we can provide you with a tailored answer to your situation. Once you have provided us with your URL, we will be happy to assist you with everything.

    #1313954
    nicola.volpi86
    Participant
    This reply has been marked as private.
    #1313955
    nicola.volpi86
    Participant
    #1313989
    Christopher
    Moderator

    Hi there,

    Please update previous code to :

    //Add sidebar to single product
    // =============================================================================
    
    if ( ! function_exists( 'x_get_content_layout' ) ) :
      function x_get_content_layout() {
    
        $stack          = x_get_stack();
        $content_layout = x_get_option('x_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_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';
          } elseif ( is_archive() ) {
            if ( x_is_shop() || x_is_product_category() || x_is_product_tag() || x_is_product() ) {
              $opt    = x_get_option( 'x_woocommerce_shop_layout_content','sidebar' );
              $layout = ( $opt == 'sidebar' ) ? $content_layout : $opt;
            } else {
              $opt    = x_get_option( 'x_archive_layout', '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;
        }
    
        return $layout;
    
      }
    endif;
    
    // Add custom sidebar to product page//
    //===================================================
    add_filter( 'ups_sidebar', 'product_sidebar_2', 9999 );
    
    function product_sidebar_2 ( $default_sidebar ) {
    if ( x_is_product() ) return 'ups-sidebar-custom-sidebar'; //Must match the ID of your target sidebar
    return $default_sidebar;
    }
    
    

    Instead of ups-sidebar-custom-sidebar add custom sidebar ID.

    Hope it helps.

    #1314096
    nicola.volpi86
    Participant

    Sorry but it doesn’t work anymore

    #1314107
    Paul R
    Moderator

    Hi,

    Would you mind providing us with login credentials so we can take a closer look? To do this, you can make a post with the following info:

    – Link to your site
    – WordPress Admin username / password
    – FTP credentials

    Don’t forget to select Set as private reply. This ensures your information is only visible to our staff.

    #1314148
    nicola.volpi86
    Participant
    This reply has been marked as private.
    #1315251
    Christopher
    Moderator

    Hi there,

    Upon checking your host files, you didn’t setup child theme yet.
    Because this requires a template change, I’d advise that you setup a child theme. This allows you to make code changes that won’t be overwritten when an X update is released. After your child theme is setup, please review how we recommend making template changes in Customization Best Practices.

    After setting it up, follow my previous replay https://community.theme.co/forums/topic/add-sidebar-in-product-page/#post-1313989

    Hope it helps.

  • <script> jQuery(function($){ $("#no-reply-1313842 .bbp-template-notice, .bbp-no-topic .bbp-template-notice").removeClass('bbp-template-notice'); }); </script>