Woocommerce 我的帐户页面为新客户运行了一个额外的循环
Posted
技术标签:
【中文标题】Woocommerce 我的帐户页面为新客户运行了一个额外的循环【英文标题】:Woocommerce my account page runs an extra loop for new customers 【发布时间】:2021-12-16 13:52:12 【问题描述】:我在 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->get_items()
是否都被赋值,并且在foreach循环之前还要检查get_items()
数组长度
【参考方案1】:
不确定这是从哪里来的,但它正在尝试循环通过 $last_order
变量。
因此,为了防止从未下过订单的用户运行循环(这意味着$last_order
为假),您可以将其包装在if
语句中并检查$last_order
是否为假,像这样:
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;
让我知道它是否适合你!
【讨论】:
非常感谢!!错误已解决以上是关于Woocommerce 我的帐户页面为新客户运行了一个额外的循环的主要内容,如果未能解决你的问题,请参考以下文章
Wordpress登录页面重定向到普通用户的Woocommerce我的帐户页面
从 WooCommerce 的“客户”角色中隐藏我的帐户中的帐户资金充值
Woocommerce 如何在我的帐户页面上重定向自定义端点