下面的php代码删除侧边栏当页面上的第二个深度但同样当此功能删除同一页面上的侧边栏时我想将下面div的类更改为“Fullwidth”,因为我的页面有侧边栏相同的css适用于没有侧边栏且页面宽度为半页的页面。
function so_32165017_conditionally_remove_sidebar(){
if( is_product_category()){
$t_id = get_queried_object()->term_id;
if( so_32165017_get_product_cat_depth( $t_id ) < 2 ){
remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
// could be theme specific ex: Storefront
remove_action( 'storefront_sidebar', 'storefront_get_sidebar', 10 );
}
}
}
add_action( 'woocommerce_before_main_content', 'so_32165017_conditionally_remove_sidebar' );
HTML:
自:
<div id="primary" class="content-area">
致:
<div id="primary" class="fullwidth">
答案 0 :(得分:1)
您可以使用js / jquery,在页面加载后应用。
$("#primary").removeClass("content-area");
$("#primary").addClass("fullwidth");
答案 1 :(得分:1)
对于你的情况,只需用这个替换你的代码......
function so_32165017_conditionally_remove_sidebar(){
if( is_product_category()){
$t_id = get_queried_object()->term_id;
if( so_32165017_get_product_cat_depth( $t_id ) < 2 ){
remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
// could be theme specific ex: Storefront
remove_action( 'storefront_sidebar', 'storefront_get_sidebar', 10 );
echo '<script type="text/javascript">
$(document).ready(function() {
$("#primary").removeClass("content-area");
$("#primary").addClass("fullwidth");
});
</script>';
}
}
}
答案 2 :(得分:0)
你需要这样做。
$('#testID2').addClass('fullwidth').removeClass('content-area');