php - Uncaught Error : Call to a member function is_empty() on null - add to cart text change - wordpress/woocommerce

标签 php wordpress woocommerce

我的 php 代码中出现 fatal error ,想知道如何修复它。

fatal error :PHP fatal error :未捕获错误:调用/home4/metis/public_html/staging/4326/wp-content/plugins/code-snippets/php/中的成员函数 is_empty() snippet-ops.php(446) :eval() 的代码:7

代码:

add_filter( 'woocommerce_product_add_to_cart_text', 'woocommerce_custom_add_to_cart_text', 10, 2 );
function woocommerce_custom_add_to_cart_text( $add_to_cart_text, $product ) {
    // Get cart
    $cart = WC()->cart;
    
    // If cart is NOT empty
    if ( ! $cart->is_empty() ) {.  //line 7

        // Iterating though each cart items
        foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) {
            // Get product id in cart
            $_product_id = $cart_item['product_id'];
     
            // Compare 
            if ( $product->get_id() == $_product_id ) {
                // Change text
                $add_to_cart_text = 'Already in cart';
                break;
            }
        }
    }

    return $add_to_cart_text;
}

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

最佳答案

问题似乎是 $cart 为 null,也许可以尝试:

if ( !is_null($cart) && !$cart->is_empty() ) {.  //line 7

或者检查为什么 WC()->cart;正在返回 NULL

关于php - Uncaught Error : Call to a member function is_empty() on null - add to cart text change - wordpress/woocommerce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64519348/

相关文章:

php - 调整大小后的图像中有黑色方 block

php - Jquery Ajax 无法将数据定向到服务器

php - WordPress 如何以两个为一组列出所有子页面

php - Yii 2 - 使用自定义助手

javascript - 在 WordPress 中根据 Url 隐藏菜单 Div 类

wordpress - 如何 add_image_size 处理较小的图像?

php - Wordpress Memberships - 获取计划的所有事件成员,这些成员的特定元键具有非空值。还检索额外的元数据

php - 在帐单地址后的Woocommerce订单接收页面中添加文本

wordpress - 如何在订单电子邮件中为每售出的 woocommerce 产品添加唯一编号

php - 使用 PHP 和 AJAX 的 INSERT 问题