1

我一直在拼命地寻求帮助。我真的很想只从我的 woocommerce 商店基本页面中删除侧边栏。在我的主题的管理选项中,有一个地方可以启用产品页面上的侧边栏,但您在那里选择的内容不仅会影响商店基本页面,还会影响所有存档页面。

在 archive-product.php 文件中,有代码根据该按钮是否启用来控制布局,所以我认为我最好的选择是使用 if else 语句来说明它是否是商店页面,使用“无侧边栏”班级。这是我想出的,但它不起作用。任何想法都会很棒。

<?php if ( is_object( $shop_page) ) : ?>
<div id="default_products_page_container" class="no-sidebar">
<?php elseif (have_posts() ) : ?>
<div id"default_products_page_container" class="with-sidebar">  
4

5 回答 5

7

在您的子主题的functions.php中:

// remove sidebar for woocommerce pages 
add_action( 'get_header', 'remove_storefront_sidebar' );
function remove_storefront_sidebar() {
    if ( is_shop() ) {
        remove_action( 'storefront_sidebar', 'storefront_get_sidebar', 10 );
    }
}

在 css 中,您必须将内容类更改为 100% 宽度,对于我的主题:

 .post-type-archive-product .content-area {
    float: left;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}
于 2015-04-04T08:30:37.973 回答
1

要从您想在 function.php文件中使用操作挂钩的商店页面中删除侧边栏 -

    add_action('woocommerce_before_main_content', 'remove_sidebar' );
    function remove_sidebar()
    {
        if ( is_shop() ) { 
         remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10);
       }
    }

在这里您可以获得 WooCommerce 操作和过滤器挂钩 - https://docs.woothemes.com/wc-apidocs/hook-docs.html

于 2016-08-03T12:33:02.967 回答
0

也许检查您正在使用的主题并从模板中删除侧边栏的代码。

于 2013-05-30T01:32:12.567 回答
0

删除侧边栏并使页面全宽。这个工作示例是正确的方法。

1 - ID#secondary是侧边栏 ID。使用我们将样式应用于#primary width:100%;

2 - 该行if(is_cart() || is_checkout() || is_product())分别从购物车、结帐和产品页面中删除侧边栏。

add_action('wp_head', 'hide_sidebar' ); 
function hide_sidebar(){ 
  if(is_cart() || is_checkout() || is_product()){ 
  ?>
  <style type="text/css">
    #secondary {
        display: none;
    }
    #primary {
       width:100%;
    }
   </style>
  <?php
 }
}
于 2018-08-02T04:12:49.330 回答
0

我在用着

  • WooCommerce 5.6.0
  • shopstore主题版本4.2.9

我解决了修改脚本inc/woocommerce.php中的 woocommerce 包装函数

这里的变化:

function shopstore_woocommerce_wrapper_before()

我换了

$arg = array( 'column' => 'col-md-8' );

$sidebar_column = 'col-md-4 no-sidebar-actived';
$column = 'col-md-12';
$sidebar = 'inactive';
$arg = array( 'section' => 'page-container', 'column' => $column, 'sidebar'=>$sidebar , 'sidebar_column' => $sidebar_column );

而在

function shopstore_woocommerce_wrapper_after()

我换了

$arg = array( 'sidebar' => 'active' );

$arg = array( 'sidebar' => 'inactive' );

因此,我在创建商店页面时使用了与无侧边栏模板相同的策略(在脚本custom-template/no-sidebar.php中)。

于 2021-09-15T16:13:18.110 回答