默认情况下,在单个产品的右侧显示侧边栏。关键是我们只需要位于所有产品的商店页面上的侧边栏。它包括所有过滤器以及额定产品。但是在单个产品描述页面上,我们要删除右侧栏。因为在该页面中,它仅在侧边栏中显示评级产品。默认情况下它就在那里。有没有办法从那个页面中删除它?
5 回答
当前在文件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
检查结果,如果你喜欢它,按照我上面说的做
Gaspar Pereira,来自 rgrepairofice
这完全取决于您使用的主题,因为有时主题选项或定制器中甚至还有一个选项,用于将布局更改为不同的页面。
通过代码,您可能可以将 single-product.php 替换为没有侧边栏的页面模板文件,然后重新插入丢失的 WooCommerce 标签,这样 WooCommerce 就会在页面上发挥它的魔力。
您可以尝试转到 [project-name]/wp-content/themes/[theme-name]/woocommerce/single-product.php 并查找此行:
do_action( 'woocommerce_sidebar' );
并删除该行或将其注释掉。
默认情况下,您将无法使用 WooCommerce 和 WordPress 完成此操作。但是,如果您不想深入研究代码,这很容易完成。一个流行的选择是Jetpack 的 Widget Visibility。如果您想深入研究代码,我建议您提出一个新问题,并详细说明您已经尝试过的操作。