為 WooCommerce 存檔循環項目上的特定產品 ID 自訂徽章
P粉087074897
P粉087074897 2024-02-17 13:54:07
0
1
385

我正在嘗試在商店頁面或類別存檔中或每當顯示此特定產品循環項目時向特定產品顯示帶有「獨家」文字的徽章。

但是我嘗試在_shop_loop_item之前新增_action,但問題是$product變數不包含該物件。我正在考慮 $product->get_id() ,如果它與產品 id 匹配,則將一些 HTML 應用於該特定產品循環專案。

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

順便說一句,get_id() 無法執行,因為 $product 看起來是空的。這就是我堆疊的地方。

是的,我想要列印 HTML 的位置是 woocommerce_before_shop_loop_item - 就在銷售徽章之前。

關於如何過濾循環項目有什麼建議嗎?

P粉087074897
P粉087074897

全部回覆(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 'sssccc';
        }
    }
}
add_action( 'woocommerce_before_shop_loop_item', 'action_woocommerce_before_shop_loop_item', 10 );
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板