Passen Sie Abzeichen für bestimmte Produkt-IDs in WooCommerce-Archivschleifenelementen an
P粉087074897
P粉087074897 2024-02-17 13:54:07
0
1
384

Ich versuche, ein Abzeichen mit dem Text „EXKLUSIV“ für ein bestimmtes Produkt auf der Store-Seite oder im Kategoriearchiv oder immer dann anzuzeigen, wenn dieses bestimmte Produktzykluselement angezeigt wird.

Aber ich habe versucht, _action vor _shop_loop_item hinzuzufügen, aber das Problem ist $product变量不包含该对象。我正在考虑 $product->get_id(), dass, wenn es mit der Produkt-ID übereinstimmt, etwas HTML auf dieses bestimmte Produktschleifenelement angewendet wird.

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>';
    }
} 

Übrigens sieht get_id() 无法执行,因为 $product leer aus. Hier stapele ich mich.

Ja, die Stelle, an der ich den HTML-Code drucken möchte, ist woocommerce_before_shop_loop_item – direkt vor dem Verkaufsabzeichen.

Irgendwelche Vorschläge zum Filtern von Schleifenelementen?

P粉087074897
P粉087074897

Antworte allen(1)
P粉718165540

默认情况下,

$product 不会传递到 woocommerce_before_shop_loop_item 挂钩处的回调函数。这就是为什么它不起作用

改用global $product

所以你得到:

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 '';
        }
    }
}
add_action( 'woocommerce_before_shop_loop_item', 'action_woocommerce_before_shop_loop_item', 10 );
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage