2015-08-28 3 views
0

Ниже php-код удаляет боковую панель. С страницы, когда она находится на 2-й глубине, но на том же, когда эта функция удаляет боковую панель на той же странице, я хочу изменить класс ниже div на «Полная ширина», поскольку моя страница имеет боковую панель, тот же css применим на странице, где боковая панель отсутствует, а страница имеет половину ширины.Добавить класс Css в конкретный div в PHP Wordpress

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"> 

To:

<div id="primary" class="fullwidth"> 

ответ

1

Вы можете использовать JS/JQuery для этого, который применяется после загрузки страницы.

$("#primary").removeClass("content-area"); 

$("#primary").addClass("fullwidth"); 
+0

выше, это код php, вы уверены, что этот JQuery будет работать? –

+1

то и можно назвать JS после загрузки страницы .... как ниже код $ (документ) .ready (функция() { \t $ ("# первичный") removeClass ("Content-область");. $ («#primary»). addClass («fullwidth»); }); –

+0

Должен ли я добавить это в function.php, и у меня есть вопрос, который я хочу удалить, только когда вышеуказанный php удаляет боковую панель, css должен быть запущен –

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>'; 

      } 
     } 
    } 
+0

dint работа, показывающая ту же мату, что функция php загружается до того, как код html загружен не уверен –

+0

Я просто добавил предупреждение для проверки независимо от того, работает ли он над Dom, предупреждение не отображается –

0

вам нужно сделать это.

$('#testID2').addClass('fullwidth').removeClass('content-area'); 
+0

, но где весь сайт падает, если я добавлю это, если условие –

Смежные вопросы