如何修復 PHP 警告:懸停時 WooCommerce 類別圖像切換程式碼中未定義的陣列鍵
P粉529581199
2023-08-27 00:13:53
<p>我的子主題functions.php 檔案中有此程式碼:</p>
<pre class="brush:php;toolbar:false;">// add hover image to woo category page
add_action( 'woocommerce_before_shop_loop_item_title', 'mem_add_on_hover_shop_loop_image' ) ;
function mem_add_on_hover_shop_loop_image() {
$image_id = wc_get_product()->get_gallery_image_ids()[0] ;
if ( $image_id ) {
echo wp_get_attachment_image( $image_id, 'woocommerce_thumbnail' ) ;
} else {
//echo wp_get_attachment_image( wc_get_product()->get_image_id() ) ;
echo wp_get_attachment_image( wc_get_product()->get_image_id(), 'woocommerce_thumbnail' ) ;
}
}</pre>
<p>它可以工作,並且可以在懸停時切換類別圖像。 </p>
<p>問題是顯示與此行相關的 PHP 錯誤:</p><p>
$image_id = wc_get_product()->get_gallery_image_ids()[0] ;</p>
<p>錯誤是 PHP 警告:未定義的陣列鍵 0</p>
<p>請問我該如何解決這個問題? </p>
<p>謝謝
塔姆辛</p>
<p>我還沒試過修復。 </p>
您可以先檢查
get_gallery_image_ids
是否傳回一個陣列。如果存在,則檢查鍵 0(第一個元素)是否存在。如果是這樣,那麼您就可以隨意使用它。編輯,
您應該使用此程式碼編輯您的
mem_add_on_hover_shop_loop_image
函數。最終程式碼應如下所示,