0

默认情况下,在单个产品的右侧显示侧边栏。关键是我们只需要位于所有产品的商店页面上的侧边栏。它包括所有过滤器以及额定产品。但是在单个产品描述页面上,我们要删除右侧栏。因为在该页面中,它仅在侧边栏中显示评级产品。默认情况下它就在那里。有没有办法从那个页面中删除它?

4

5 回答 5

1

当前在文件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/

于 2018-12-29T18:54:14.827 回答
1

我在 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

于 2021-01-30T16:14:40.797 回答
0

这完全取决于您使用的主题,因为有时主题选项或定制器中甚至还有一个选项,用于将布局更改为不同的页面。

通过代码,您可能可以将 single-product.php 替换为没有侧边栏的页面模板文件,然后重新插入丢失的 WooCommerce 标签,这样 WooCommerce 就会在页面上发挥它的魔力。

于 2018-01-30T09:25:43.377 回答
0

您可以尝试转到 [project-name]/wp-content/themes/[theme-name]/woocommerce/single-product.php 并查找此行:

do_action( 'woocommerce_sidebar' );

并删除该行或将其注释掉。

于 2018-01-30T09:54:39.063 回答
-2

默认情况下,您将无法使用 WooCommerce 和 WordPress 完成此操作。但是,如果您不想深入研究代码,这很容易完成。一个流行的选择是Jetpack 的 Widget Visibility。如果您想深入研究代码,我建议您提出一个新问题,并详细说明您已经尝试过的操作。

于 2018-01-30T09:49:54.750 回答