2014-12-03 3 views
0

Я создаю сайт на основе TwentyTwelve (детская тема), и я использую woocommerce. На моей странице магазина (также на главной странице сайта) Я хочу удалить боковую панель.Удалить боковую панель woocommerce только в магазине/на главной странице

Я придумал этот код:

if(is_front_page()){ 
remove_action('woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10); 
remove_action('woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10); 
remove_action('woocommerce_sidebar', 'woocommerce_get_sidebar', 10); 

add_action('woocommerce_before_main_content', 'twentytwelve_child_wrapper_start', 10); 
add_action('woocommerce_after_main_content', 'twentytwelve_child_wrapper_end', 10); 

function twentytwelve_child_wrapper_start() { 
    echo '<div id="shop">'; 
} 

function twentytwelve_child_wrapper_end() { 
    echo '</div>'; 
} 
} 

Он работает, но он удаляет боковую панель на ВСЕ посвататься страницами (за исключением корзины и оформления заказа страницы) и она должна быть в магазине/главной странице (и SearchResults если на то пошло)

Итог: я не могу получить свое условное утверждение правильно. Пожалуйста помоги. Потому что я немного новичок, прошу прощения. Заранее спасибо.

ответ

2

Не могли бы вы использовать css, а не php? если вы нацеливаете класс кузова на главной странице следующим образом:

body.frontpage .sidebar{ 
    display:none; 
} 
+0

вам нужно будет заменить классы главной страницы и боковых панелей соответствующими. –

+0

Благодарим вас за ответ. Если я не ошибаюсь, это решение не сработает. WP/Woo вводит те же идентификаторы и divs для магазина, что и для отдельной страницы продуктов. Если я делаю что-то неправильно ... советую. – A3O

+0

У вас есть ссылка на ваш сайт? Wordpress обычно добавляет класс к телу домашней страницы под названием «home» –