Php 未捕获错误:对成员函数的调用为空(null)-添加到购物车文本更改-wordpress/woocommerce

Php 未捕获错误:对成员函数的调用为空(null)-添加到购物车文本更改-wordpress/woocommerce,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我的php代码中有一个致命错误,我想知道如何修复它 致命错误:PHP致命错误:Uncaught错误:在/home4/metis/public\u html/staging/4326/wp content/plugins/code snippets/PHP/snippet ops.PHP(446):eval()d code:7中对成员函数的调用为空 代码: 我想做的是,如果产品在购物车中,“添加到购物车”按钮文本应更改为“已在购物车中”。问题似乎是$cart为空,请尝试: 如果(!is_null(

我的php代码中有一个致命错误,我想知道如何修复它

致命错误:PHP致命错误:
Uncaught错误:在/home4/metis/public\u html/staging/4326/wp content/plugins/code snippets/PHP/snippet ops.PHP(446):eval()d code:7中对成员函数的调用为空

代码:


我想做的是,如果产品在购物车中,“添加到购物车”按钮文本应更改为“已在购物车中”。

问题似乎是$cart为空,请尝试:

如果(!is_null($cart)&&!$cart->is_empty()){//第7行

或者检查WC()->cart;为何返回NULL

问题似乎是$cart为NULL,请尝试:

如果(!is_null($cart)&&!$cart->is_empty()){//第7行

或者检查一下为什么WC()->cart;返回空值

如果你做得对,它应该可以工作,我唯一能想到的是你在没有定义WC()->cart的地方过早地挂起它,也许你可以在以后的挂起中包装代码:

add_action('wp', function() {
    add_filter( 'woocommerce_product_add_to_cart_text', function($add_to_cart_text, $product) {
        if (WC()->cart->is_empty()) {
            // Do your thing
        }
    }, 10, 2 );
});

你做得对,应该可以,我能想到的唯一一件事是,你在没有定义WC()->cart的地方过早地挂接它,也许你可以在以后的挂接中包装代码:

add_action('wp', function() {
    add_filter( 'woocommerce_product_add_to_cart_text', function($add_to_cart_text, $product) {
        if (WC()->cart->is_empty()) {
            // Do your thing
        }
    }, 10, 2 );
});