首页 > 解决方案 > 尝试在插件中使用 foreach 访问购物车项目,但在管理员 wordpress 中的编辑和设置页面上出现严重错误

问题描述

我正在使用 Dokan-woocommerce-wordpress。尝试使用插件文件中的 foreach 访问添加到购物车中的商品的供应商 ID。

// Get Vendor UPI ID and Murchant Code
        global $woocommerce;
        $items = $woocommerce->cart->get_cart();
         
        foreach( $items as $my_cart_item ){
            $my_product_id = $my_cart_item['product_id'];
        }
        
        
        $vendor_id = get_post_field( 'post_author', $my_product_id );
        $store_details = get_user_meta($vendor_id, 'dokan_profile_settings');
        $upi_id = $store_details[0]['vendor_upi_id'];
        $murchant_code = $store_details[0]['vendor_upi_murchant_code'];

上面的代码给出了所需的输出,但这里的某些内容导致严重错误和“编辑”页面无法在 wordpress 管理员中打开。

在此处输入图像描述

这是错误日志消息

PHP Warning:  Invalid argument supplied for foreach() in /home3/cardocte/public_html/shreeroyals.com/wp-content/plugins/upi-qr-code-payment-for-woocommerce/includes/payment.php on line 57

请提出任何解决方案。

标签: phpwordpresswoocommercepluginsdokan

解决方案


我找到了解决方案。如果它在管理区域中执行似乎get_cart()会导致问题,因此将上面的代码段包装在条件中:if( ! is_admin() ) { }为我解决了这个问题。


推荐阅读