Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅在woocommerce商店/类别页面上隐藏“添加到购物车”按钮_Php_Wordpress - Fatal编程技术网

Php 仅在woocommerce商店/类别页面上隐藏“添加到购物车”按钮

Php 仅在woocommerce商店/类别页面上隐藏“添加到购物车”按钮,php,wordpress,Php,Wordpress,我想在我的商店页面上隐藏按钮,但我想在其他帖子和页面上显示它 我发现以下代码隐藏了我整个网站上的“添加到购物车”按钮: add_action( 'woocommerce_after_shop_loop_item', 'remove_add_to_cart_buttons', 1 ); function remove_add_to_cart_buttons() { remove_action( 'woocommerce_after_shop_loop_item', 'woocommerc

我想在我的商店页面上隐藏按钮,但我想在其他帖子和页面上显示它

我发现以下代码隐藏了我整个网站上的“添加到购物车”按钮:

add_action( 'woocommerce_after_shop_loop_item', 'remove_add_to_cart_buttons', 1 );

function remove_add_to_cart_buttons() {
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
}

如何调整它,使其仅删除woocommerce商店和分类页面上的按钮?

您可以使用woocommerce条件标记检查:


您可以使用条件标记来检查:

删除“添加到购物车”按钮 您需要使用不会影响其他代码的钩子-

add_action( 'woocommerce_after_shop_loop_item', 'remove_loop_button', 1 );
function remove_loop_button()
{
if( is_product_category() || is_shop()) { 
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
}
}
这将从商店/类别页面中删除“添加到购物车”按钮

在这里,您可以获得WooCommerce操作和过滤器挂钩 -

删除“添加到购物车”按钮 您需要使用不会影响其他代码的钩子-

add_action( 'woocommerce_after_shop_loop_item', 'remove_loop_button', 1 );
function remove_loop_button()
{
if( is_product_category() || is_shop()) { 
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
}
}
这将从商店/类别页面中删除“添加到购物车”按钮

在这里,您可以获得WooCommerce操作和过滤器挂钩 -


这是一个可以用来删除隐藏禁用添加到购物车按钮的插件

这是一个可以用来删除隐藏禁用添加到购物车按钮的插件

这也可以通过针对相关类的CSS来完成:

.cart{display:none;}

.avia_cart_buttons{display:none;}
在我的例子中,有avia,因为我使用Enfold主题。使用inspect元素查找buton所在的类。并宣布它不可见

另一个例子是:

.woocommerce .products .shop-column.product-hover-style-2 .product-content 
.product-add-to-cart-btn{
    display:none !important;
}

这也可以通过针对相关类的CSS实现:

.cart{display:none;}

.avia_cart_buttons{display:none;}
在我的例子中,有avia,因为我使用Enfold主题。使用inspect元素查找buton所在的类。并宣布它不可见

另一个例子是:

.woocommerce .products .shop-column.product-hover-style-2 .product-content 
.product-add-to-cart-btn{
    display:none !important;
}

这很简单,因为当我试图修复它时,我已经通过了几个教程。您只需将此代码放入woocommerce.php中,即可隐藏商店页面的“添加到购物车”按钮

function WpBlog() {
  remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
  remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart');
  return WooCommerce::instance();
}

希望这对您有用,如果不让我知道,我将指导您

这很简单,因为我在尝试修复它时已经完成了几个教程。您只需将此代码放入woocommerce.php中,即可隐藏商店页面的“添加到购物车”按钮

function WpBlog() {
  remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
  remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart');
  return WooCommerce::instance();
}
    add_action('wp','only_add_bierkoerier_in_cart', 'woocommerce_before_cart');  

    function only_add_bierkoerier_in_cart() {

    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {


    $bierkoerier_in_cart = false;
    $categories = get_categories();

    if ( has_term( 'bierkoerier', 'product_cat', $cart_item['product_id'] ) ) {
        $bierkoerier_in_cart = true;
        break;
    } 
    }

    if($bierkoerier_in_cart) {  
        wc_print_notice( 'omdat u bierkoerier producten in uw winkelwagen heeft 
    kunt u geen winkelitems toevoegen', 'notice' );
       if(is_shop() || is_product() || is_product_category()) {
         remove_action( 'woocommerce_after_shop_loop_item','woocommerce_template_loop_add_to_cart' );
         remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    }
}
}

希望这对您有用,如果不让我知道,我将指导您

要从“商店”、“产品类别”和“单一产品”页面中删除“添加到购物车”按钮,请使用以下步骤:

    add_action('wp','only_add_bierkoerier_in_cart', 'woocommerce_before_cart');  

    function only_add_bierkoerier_in_cart() {

    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {


    $bierkoerier_in_cart = false;
    $categories = get_categories();

    if ( has_term( 'bierkoerier', 'product_cat', $cart_item['product_id'] ) ) {
        $bierkoerier_in_cart = true;
        break;
    } 
    }

    if($bierkoerier_in_cart) {  
        wc_print_notice( 'omdat u bierkoerier producten in uw winkelwagen heeft 
    kunt u geen winkelitems toevoegen', 'notice' );
       if(is_shop() || is_product() || is_product_category()) {
         remove_action( 'woocommerce_after_shop_loop_item','woocommerce_template_loop_add_to_cart' );
         remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    }
}
}
在子主题中找到functions.php。子主题防止更改被WP更新覆盖。

将以下代码放入functions.php中:

添加动作“在商店商品之后添加商业商品”,“删除购物车按钮”,1; 功能删除\添加\到\购物车\按钮{ 如果是产品|类别|是商店{ 删除操作“购物后的woocommerce”项目、“woocommerce模板”循环“添加到购物车”; } }

添加行动“woocommerce单产品摘要”、“woocommerce在购物车之前”; 功能是在购物车之前进行购物{ 如果是乘积{ 删除行动“woocommerce\u single\u product\u summary”、“woocommerce\u template\u single\u add\u to\u cart”,30; }
}

要从“商店”、“产品类别”和“单一产品”页面中删除“添加到购物车”按钮,请使用以下步骤:

在子主题中找到functions.php。子主题防止更改被WP更新覆盖。

将以下代码放入functions.php中:

添加动作“在商店商品之后添加商业商品”,“删除购物车按钮”,1; 功能删除\添加\到\购物车\按钮{ 如果是产品|类别|是商店{ 删除操作“购物后的woocommerce”项目、“woocommerce模板”循环“添加到购物车”; } }

添加行动“woocommerce单产品摘要”、“woocommerce在购物车之前”; 功能是在购物车之前进行购物{ 如果是乘积{ 删除行动“woocommerce\u single\u product\u summary”、“woocommerce\u template\u single\u add\u to\u cart”,30; }
}

Thx!那正是我要找的!请告诉我我需要添加哪个文件?我试过很多次,但没有任何乐趣。。。Thanks@Lyall或者其他,这可以添加到WordPress主题中的functions.php。请注意,如果您在原始functions.php中进行此更改,它将被WordPress更新覆盖。要永久保留更改,请确保创建子主题以覆盖WordPress主题中的默认函数,或者将此代码段放在代码段中。这不管用,谢谢!那正是我要找的!请告诉我我需要添加哪个文件?我试过很多次,但没有任何乐趣。。。Thanks@Lyall或者其他,这可以添加到WordPress主题中的functions.php。请注意,如果您在原始functions.php中进行此更改,它将被WordPress更新覆盖。要永久保留更改,请确保创建子主题以覆盖WordPress主题中的默认函数,或者将此代码段放在代码段中。这是行不通的CSS实际上可以帮上忙。在我的例子中,a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart{display:none;}成功了。关于Stackoverflow的答案的简单建议,不要责怪其他答案。
当这里有一个简单的方法,你可以使用自定义CSS来做你需要的事情。CSS实际上可以帮助你。在我的例子中,a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart{display:none;}成功了。关于Stackoverflow的答案的简单建议,不要责怪其他答案。当这里有一个简单的方法,你可以用自定义CSS做你需要的事情时,你为什么要攻击函数呢。