Hello -
I’ve used code that I found on another forum support entry (though I’m not sure which one at this point) to successfully add sidebars to all my shop pages by modifying the functions.php file in my child theme. However, it is adding my main sidebar to the pages and I have a second custom sidebar that I use on my shop pages. How do I make it call the correct sidebar (my shop sidebar)?
Thanks - Erin
// Add Sidebar to All Shop Pages
// =============================================================================
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 = 'content-sidebar';
} 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 );