无法删除WooCommerce侧边栏

时间:2018-06-09 作者:wpdev

我正在使用下面的代码从购物车和单一产品页面中删除woocommerce侧栏。

function urun_sidebar_kaldir() {
    if ( is_product() || is_cart() ) {
        remove_action( \'woocommerce_sidebar\', \'woocommerce_get_sidebar\', 10 );
    }
}
add_action( \'woocommerce_before_main_content\', \'urun_sidebar_kaldir\' );
它可以在单个产品页面中工作,但不能在购物车页面中工作。

我无法删除购物车页面中的侧栏。

//Update

我没有使用woocommerce.php 在主题主文件夹中。

我的主题中有这个模板。

wp-content/themes/{current-theme}/woocommerce/cart/cart.php
我为cart创建了自定义teplate。然后我删除了get_sidebar(); 但侧边栏仍显示在购物车页面中。

wp-content/themes/{current-theme}/page-cart.php
wp-content/themes/{current-theme}/page-checkout.php

2 个回复
最合适的回答,由SO网友:Bjorn 整理而成

First, most themes have multiple page templates you can choose from.

Please check:

  1. go to cart page (in wp-admin).
  2. See side metabox \'Page Attributes\'.
  3. There you can set the page template, does it have something like \'full_width\'?

You can also try a different hook, like wp_head.

Example:

add_action( \'wp_head\', \'urun_sidebar_kaldir\' );

Let me know.


After checking the WOO cart template, i can\'t find a do_action( \'woocommerce_sidebar\' ).It does exist in the singe-product.php template.

Are you certain the cart sidebar is generated by WooCommerce?


Add a full-width template to your theme:

Read this.

Then follow the steps i mentiod at the beginning of my answer.

SO网友:ratoli

对我来说,它可以与下面的代码一起工作,但我不确定这是否真的可行,是否能经得起未来的考验。

function woo_remove_sidebar() {              
    if( ! is_product() or
        ! is_cart() or
        ! is_checkout() or
        ! is_account_page() )
    {
        remove_action( \'woocommerce_sidebar\', \'woocommerce_get_sidebar\', 10 );
    }
}
add_filter( \'is_active_sidebar\', \'woo_remove_sidebar\' );

结束

相关推荐

“Sidebar”模板中包含评论计数的最近帖子

我试过这个代码,但它完全破坏了我的网站。我想这是因为我在侧栏模板中WP\\u查询的神圣帖子上下文中做错了什么。请一些WP专家更正此代码好吗?<?php $args = array( \'orderby\' => \'date\' ,\'order\' => \'DESC\' ,\'showposts\'=>6 ); $my_query = new WP_Query($args);