Rumah  >  Soal Jawab  >  teks badan

Sesuaikan lencana untuk ID produk tertentu pada item gelung arkib WooCommerce

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粉087074897P粉087074897268 hari yang lalu344

membalas semua(1)saya akan balas

  • P粉718165540

    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

    sebaliknya

    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 );
    

    balas
    0
  • Batalbalas