Hi,
To get it to the right, change the line of code that reads.
} elseif ( x_is_product() ) {
$layout = 'sidebar-content';
}
to
} elseif ( x_is_product() ) {
$layout = 'content-sidebar';
}
Then entire code will now look like this
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 = 'sidebar-content';
} 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 = 'sidebar-content';
} 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;
}
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 );
Hope that helps