Comment corriger l'avertissement PHP : clé de tableau non définie dans le code de changement d'image de la catégorie WooCommerce en survol
P粉529581199
2023-08-27 00:13:53
<p>J'ai ce code dans le fichier function.php de mon thème enfant : </p>
<pre class="brush:php;toolbar:false;">// ajouter une image de survol à la page de catégorie woo
add_action( 'woocommerce_before_shop_loop_item_title', 'mem_add_on_hover_shop_loop_image' ) ;
fonction mem_add_on_hover_shop_loop_image() {
$image_id = wc_get_product()->get_gallery_image_ids()[0];
si ( $image_id ) {
echo wp_get_attachment_image( $image_id, 'woocommerce_thumbnail' ) ;
} autre {
//echo wp_get_attachment_image( wc_get_product()->get_image_id() ) ;
echo wp_get_attachment_image( wc_get_product()->get_image_id(), 'woocommerce_thumbnail' );
}
}</pré>
<p>Cela fonctionne et change les images de catégorie en survol. </p>
<p>Le problème affiche une erreur PHP liée à cette ligne : </p><p>
$image_id = wc_get_product()->get_gallery_image_ids()[0] ;</p>
<p>L'erreur est un avertissement PHP : clé de tableau non définie 0</p>
<p>Comment puis-je résoudre ce problème ? </p>
<p>Merci
Tamsin&Lt ;/p> ;
<p>Je n'ai pas encore essayé le correctif. </p>
Vous pouvez d'abord vérifier si
get_gallery_image_ids
renvoie un tableau. Si elle existe, vérifiez si la clé 0 (le premier élément) existe. Si tel est le cas, vous êtes libre de l’utiliser comme bon vous semble.modifier,
Vous devez modifier votre fonction
mem_add_on_hover_shop_loop_image
avec ce code. Le code final devrait ressembler à ceci,