php - Woocommerce 我的帐户页面为新客户运行额外的循环

标签 php wordpress woocommerce orders woocommerce-theming

我的 woocommerce 商店的“我的帐户”页面出现问题。事实上,当我使用从未下过订单的新客户帐户登录时,我的仪表板显示了容器消失的错误。

经过测试,只有当我使用相关帐户下订单时,该错误才会消失。

执行一系列测试后,产生错误的代码如下(它显示连接用户的最后一个命令):

<?php foreach ($last_order->get_items() as $item) :
  $product   = $item->get_product(); 
  $thumbnail = $product->get_image(array(50, 50));
  if ($product->get_image_id() > 0) {
    $item_name = '<div class="item-thumbnail">' . $thumbnail . '</div>'; // You had an extra variable here
  }
  echo $item_name . $item->get_name();
        endforeach;
?>

你知道这可能来自哪里吗?

提前,非常感谢您的帮助。

最佳答案

不确定它来自哪里,但它正在尝试循环 $last_order 变量。

因此,为了防止从未下过订单的用户运行循环(这意味着 $last_order 为 false),您可以将其包装在 if 中语句并检查 $last_order 是否为 false,如下所示:

if($last_order){
  foreach ($last_order->get_items() as $item) :
    $product   = $item->get_product(); 
    $thumbnail = $product->get_image(array(50, 50));
    if ($product->get_image_id() > 0) {
      $item_name = '<div class="item-thumbnail">' . $thumbnail . '</div>'; // You had an extra variable here
    }
    echo $item_name . $item->get_name();
  endforeach;
}

请告诉我它是否适合您!

关于php - Woocommerce 我的帐户页面为新客户运行额外的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69803593/

相关文章:

php - Doctrine 2 ORM问题设置参数

php - codeigniter where() postgresql

php - 在 woocommerce 产品属性中添加换行符

Jquery window.send_to_editor

php - WooCommerce - Ajax 添加到购物车并更新总计

mysql - Woocommerce 查询返回产品,按total_sales 排序

php - 如何屏蔽地址栏中的推荐 URL

php - 如何在php中用相应的多个字符替换多个字符?

wordpress - 我怎样才能以更少的 seo 损坏重新安装我的 wordpress

php - 如何以编程方式获取/设置产品价格?