Sesuaikan lencana untuk ID produk tertentu pada item gelung arkib WooCommerce
P粉087074897
P粉087074897 2024-02-17 13:54:07
0
1
383

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粉087074897
P粉087074897

membalas semua(1)
P粉718165540

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 );
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan