删除和替换WooCommerce添加到购物车按钮

时间:2021-08-05 作者:Krullmizter

我正在研究一个解决方案,在该解决方案中,我对每个WooCommerce产品都有一个ACF。当自定义字段不是NULL 它将在上一个“添加到购物车”按钮下方添加自定义锚定标记。这很好,但我无法让它工作,因此当上述步骤完成时,添加到购物车按钮将与挂钩一起删除woocommerce_is_purchasable. 总的来说,这可能是个坏主意,因为我已经看到如果我使用woocommerce_is_purshable, 并在woocommerce_after_add_to_cart_button 钩住它可以删除“添加到购物车”按钮和“我的自定义目录”按钮。

add_filter(\'woocommerce_after_add_to_cart_button\', function () {
    $order_a_catalog_url = get_field(\'order_a_catalog_url\', get_the_ID());
    $order_a_catalog_name = __(\'Order A Catalog\', \'wp\');

    if ($order_a_catalog_url != null) {
        echo \'<a class="button" href="\'.$order_a_catalog_url.\'">\'.$order_a_catalog_name.\'</a>\';

        add_filter( \'woocommerce_is_purchasable\', \'__return_false\' );
    }
    
}, 100);

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

我问了一个关于stackoverflow的问题,并在那里得到了答案。但问题是我使用了add\\u过滤器,优先级错误,使用了错误的挂钩。答案是:https://stackoverflow.com/questions/68661105/remove-and-replace-woocommerce-add-to-cart-button

相关推荐

Apply_Filters()对所需的参数进行切片

我正在尝试向WooCommerce订单中的每个退款行添加一个按钮(其功能超出了这个问题的范围,足以说明它需要退款id作为参数)。我发现这些行是在woocommerce\\includes\\admin\\meta Box\\views\\html订单退款中创建的。无法重写的php。然而,有一项行动:do_action( \'woocommerce_admin_order_item_values\', null, $refund, $refund->get_id() ); 这似乎非常适合我的