Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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 仅当购物车不为空时,才替换“添加到购物车”按钮_Php_Wordpress_Woocommerce_Product_Hook Woocommerce - Fatal编程技术网

Php 仅当购物车不为空时,才替换“添加到购物车”按钮

Php 仅当购物车不为空时,才替换“添加到购物车”按钮,php,wordpress,woocommerce,product,hook-woocommerce,Php,Wordpress,Woocommerce,Product,Hook Woocommerce,我想从单一产品页面中删除“添加到购物车”按钮,然后如果购物车不是空的(因为人们应该只能购买一次商品),则将其替换为“转到购物车”自定义按钮。如果购物车是空的,那么“添加到购物车”应该在那里 这就是我所拥有的,从理论上讲应该可以做到,但它不会: add_action('woocommerce_single_variation','view_cart_store'); function view_cart_store() { if ( ! WC()->cart->is_empt

我想从单一产品页面中删除“添加到购物车”按钮,然后如果购物车不是空的(因为人们应该只能购买一次商品),则将其替换为“转到购物车”自定义按钮。如果购物车是空的,那么“添加到购物车”应该在那里

这就是我所拥有的,从理论上讲应该可以做到,但它不会:

add_action('woocommerce_single_variation','view_cart_store');

function view_cart_store() {
    if ( ! WC()->cart->is_empty() ) {
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
    remove_action( 'woocommerce_single_variation', 'woocommerce_template_single_add_to_cart', 30 );
    echo '<a class="button wc-forward" href="'.wc_get_page_permalink( 'cart' ).'">'. __( 'Back to cart', 'woocommerce' ) .'</a>';
    } else {
        //do nothing
    }
}

add_action('woocommerce_single_variation'、'view_cart_store');
功能视图\购物车\商店(){
如果(!WC()->购物车->为空(){
删除操作('woocommerce'u在'u shop'u loop'u item'之后,'woocommerce'模板'u loop'u将'u添加到'u cart');
删除操作('woocommerce\u single\u variation'、'woocommerce\u template\u single\u add\u to\u cart',30);
回声';
}否则{
//无所事事
}
}
它没有这样做。经过一些测试后,我认为从
woocommerce\u single\u variation
中删除操作的代码会阻止div被渲染,这将不包括我的按钮

你知道如何实施吗