我使用 将产品缩略图添加到 Woocommerce 管理订单列表答案代码。它工作正常,但最近我删除了一些产品,因此它们不再存在,这会导致错误。 如果购买的产品已被删除,如何避免错误?
我想我需要额外检查该产品,如果它不存在,请忽略它/留空并移至下一个产品。有什么想法如何才能实现吗?
您可以通过简单地测试
$product
来检查代码中是否存在产品,因为 $item->get_product()
将在永久删除的产品上返回 false
。
// The data of the new custom column in admin order list
add_action( 'manage_shop_order_posts_custom_column' , 'admin_orders_list_column_content', 10, 2 );
function admin_orders_list_column_content( $column, $post_id ){
global $the_order;
if( 'custom_column' === $column ){
$count = 0;
// Loop through order items
foreach( $the_order->get_items() as $item ) {
$product = $item->get_product(); // The WC_Product Object
$style = $count > 0 ? ' style="padding-left:6px;"' : '';
if ( $product ) {
// Display product thumbnail
printf( '<span%s>%s</span>', $style, $product->get_image( array( 50, 50 ) ) );
$count++;
}
}
}
}