Rumah > Soal Jawab > teks badan
Saya cuba memaparkan lencana dengan teks "EKSKLUSIF" kepada produk tertentu dalam halaman kedai atau arkib kategori atau setiap kali item kitaran produk khusus ini ditunjukkan.
Tetapi saya cuba menambah _action sebelum _shop_loop_item tetapi masalahnya ialah $product
变量不包含该对象。我正在考虑 $product->get_id()
bahawa jika ia sepadan dengan id produk, beberapa HTML digunakan pada item gelung produk tertentu itu.
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>'; } }
By the way, get_id()
无法执行,因为 $product
nampak kosong. Di sinilah saya menyusun.
Ya, lokasi saya ingin mencetak HTML ialah woocommerce_before_shop_loop_item
- sejurus sebelum lencana jualan.
Ada cadangan tentang cara menapis item gelung?
P粉7181655402024-02-18 11:58:24
Secara lalai,
$product
不会传递到 woocommerce_before_shop_loop_item
fungsi panggil balik pada cangkuk. Sebab tu tak berkesan
Gunakan global $product
Jadi anda mendapat:
function action_woocommerce_before_shop_loop_item() { global $product; // Is a WC product if ( is_a( $product, 'WC_Product' ) ) { if ( $product->get_id() == 123 ) { echo 'sssccc'; } } } add_action( 'woocommerce_before_shop_loop_item', 'action_woocommerce_before_shop_loop_item', 10 );