php - 尝试在插件中使用 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
请提出任何解决方案。
解决方案
我找到了解决方案。如果它在管理区域中执行似乎get_cart()
会导致问题,因此将上面的代码段包装在条件中:if( ! is_admin() ) { }
为我解决了这个问题。