如何在单个woocommerce产品页面上删除右侧边栏?

时间:2018-01-30 09:22:56

标签: woocommerce hook-woocommerce woocommerce-rest-api woocommerce-theming

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

5 个答案:

答案 0 :(得分:1)

我在 2021 年创建的这个解决方案效果很好(对不起,我的英语)

<Image
  source={item.imageUrl && item.imageUrl != '' ? { uri: item.imageUrl } : require('../../assets/images/no-image-icon-15.png')}
  style={{
      flex: 1,
      aspectRatio: 1.5,
      height: undefined,
      width: undefined
  }}
  resizeMode="contain"
/>

将此代码放在主页面css代码中

访问https://rgrepairofice.ddns.net/loja/gta-v

检查结果,如果你喜欢它做我上面说的

加斯帕·佩雷拉,来自 rgrepairofice

答案 1 :(得分:0)

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

通过代码,您可以将单一product.php替换为没有侧边栏的页面模板文件,然后重新插入缺少的WooCommerce标记,以便WooCommerce在页面上实现它的魔力。

答案 2 :(得分:0)

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

do_action( 'woocommerce_sidebar' );

删除该行或将其注释掉。

答案 3 :(得分:0)

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

答案 4 :(得分:-2)

默认情况下,您无法使用WooCommerce和WordPress完成此操作。但是,如果您不想深入研究代码,那么很容易实现。一个受欢迎的选择是Widget Visibility by Jetpack。如果您想深入研究代码,我建议您提一个新问题,详细了解您已尝试过的内容。