You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决WC_Product::get_gallery_attachment_ids已弃用的通知问题?

解决WooCommerce产品图库代码的弃用通知问题

当你在WordPress中设置define('WP_DEBUG', true);开启调试模式后,运行以下产品图库相关的PHP代码时:

<div class="col-md-5 col-sm-5 mb-xs-30"><?php // echo single_product_summary_sale_flash();?> 
<div class="fotorama" data-nav="thumbs" data-allowfullscreen="native"> 
<a href="#"> 
<?php the_post_thumbnail(); ?> 
</a> 
<?php global $product; $attachment_ids = $product->get_gallery_attachment_ids(); foreach( $attachment_ids as $attachment_id ) { $image_link = wp_get_attachment_url( $attachment_id ); ?> 
<a href="#"><img src="<?php echo $image_link;?>" alt="Xpent Super Shop "></a> 
<?php } ?> 
</div> 
</div>

会收到这样的调试通知:

Notice: WC_Product::get_gallery_attachment_ids is deprecated since version 3.0! Use WC_Product::get_gallery_image_ids instead. in D:\XAMPP\htdocs\wp\woocom\wp-includes\functions.php on line 3839


别担心,这个问题很好解决!原因很明确:WooCommerce从3.0版本开始正式弃用了WC_Product::get_gallery_attachment_ids()方法,官方推荐用WC_Product::get_gallery_image_ids()来替代,两者功能完全一致,只是函数名做了更新。

你只需要修改代码中获取图库ID的那一行:
把

$attachment_ids = $product->get_gallery_attachment_ids();

替换成

$attachment_ids = $product->get_gallery_image_ids();

修改后的完整代码如下:

<div class="col-md-5 col-sm-5 mb-xs-30"><?php // echo single_product_summary_sale_flash();?> 
<div class="fotorama" data-nav="thumbs" data-allowfullscreen="native"> 
<a href="#"> 
<?php the_post_thumbnail(); ?> 
</a> 
<?php global $product; $attachment_ids = $product->get_gallery_image_ids(); foreach( $attachment_ids as $attachment_id ) { $image_link = wp_get_attachment_url( $attachment_id ); ?> 
<a href="#"><img src="<?php echo $image_link;?>" alt="Xpent Super Shop "></a> 
<?php } ?> 
</div> 
</div>

替换完成后刷新页面,那个弃用通知就会消失啦。另外如果你的WooCommerce版本比较新,建议尽量使用官方推荐的最新函数,避免后续版本可能出现的兼容性问题。

内容的提问来源于stack exchange,提问作者Mamunur Rashid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:28:46