Как удалить правую боковую панель на странице одного продукта WooCommerce?
По умолчанию в правой части отдельного продукта отображается боковая панель. Дело в том, что нам нужна боковая панель только на странице магазина, где расположены все товары. Включает в себя все фильтры, а также номинальные продукты. Но на странице описания одного продукта мы хотим удалить правую боковую панель. Потому что на этой странице он показывает только оцененные продукты в боковой панели. Это было там по умолчанию. Есть ли способ удалить его с этой страницы?
6 ответов
В настоящее время в файле templates/single-product.php
боковая панель называется
/**
* woocommerce_sidebar hook.
*
* @hooked woocommerce_get_sidebar - 10
*/
do_action( 'woocommerce_sidebar' );
Поэтому вы можете удалить его с remove_action('woocommerce_sidebar', 'woocommerce_get_sidebar', 10);
или оберните его, чтобы убедиться, что он влияет только на отдельные страницы продукта:
if ( is_product() ) {
remove_action('woocommerce_sidebar', 'woocommerce_get_sidebar', 10);
}
Вот документация для других условных тегов, если вам нужно избавиться от них где-то еще, и она использует то же действие: https://docs.woocommerce.com/document/conditional-tags/
Это решение, которое я создаю в 2021 году, работает очень хорошо (извините за мой английский)
/*Single product page no sidebar*/
#blog #sidebar {
display: none;
}
#blog .col-md-push-3 {
left: unset;
}
#blog .col-md-9 {
width: 100%;
}
поместите этот код в код css главной страницы
Посетите https://rgrepairofice.ddns.net/loja/gta-v
чтобы проверить результат, если вам это нравится, сделайте то, что я сказал выше
Гаспар Перейра из rgrepairofice
Все зависит от темы, которую вы используете, так как иногда в настройках темы или настройщике есть опция для изменения макетов на разные страницы.
С помощью кода вы, вероятно, могли бы заменить файл single-product.php файлом шаблона страницы, который не имеет боковой панели, а затем заново вставить отсутствующие теги WooCommerce, чтобы WooCommerce сделала свое волшебство на странице.
Вы можете попробовать зайти в [project-name]/wp-content/themes/[theme-name]/woocommerce/single-product.php и найти эту строку:
do_action( 'woocommerce_sidebar' );
И удалите строку или закомментируйте ее.
Вы также можете удалить боковую панель только с помощью CSS и не касаясь файлов PHP, если вы этого не хотите! Например, следующие простые коды CSS отлично работают с темой Storefront (в настоящее время, когда я пишу это, версия темы — 4.1.0).
.single-product #primary {
width: 100%;
}
.single-product #secondary {
display: none;
}
Вы не сможете сделать это по умолчанию с WooCommerce и WordPress. Тем не менее, это легко сделать, если вы не хотите погружаться в код. Популярным выбором является Widget Visibility от Jetpack. Если вы хотите погрузиться в код, я рекомендую задать новый вопрос с более подробной информацией о том, что вы уже пытались сделать.