J'essaie d'afficher un badge avec le texte « EXCLUSIF » sur un produit spécifique dans la page du magasin ou dans les archives de catégorie ou chaque fois que cet élément spécifique du cycle de produit est affiché.
Mais j'ai essayé d'ajouter _action avant _shop_loop_item mais le problème est $product
变量不包含该对象。我正在考虑 $product->get_id()
que s'il correspond à l'identifiant du produit, du code HTML est appliqué à cet élément spécifique de la boucle de produit.
add_action('woocommerce_before_shop_loop_item', 'add_custom_badge', 1); function add_custom_badge( $product ) { if ( $product->get_id() === 123 ) { echo '<script>console.log("add_custom_badge")</script>'; } }
Au fait, get_id()
无法执行,因为 $product
a l'air vide. C'est là que je me situe.
Oui, l'emplacement où je souhaite imprimer le HTML est woocommerce_before_shop_loop_item
- juste avant le badge de vente.
Des suggestions sur la façon de filtrer les éléments de boucle ?
Par défaut,
$product
不会传递到woocommerce_before_shop_loop_item
la fonction de rappel au hook. C'est pour ça que ça ne marche pasUtilisez plutôt
global $product
Vous obtenez donc :