我正在嘗試在商店頁面或類別檔案中或每當顯示此特定產品回圈專案時為特定產品顯示帶有文本“獨家”的徽章。
然而我曾嘗試 add_action before_shop_loop_item 但問題是該$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>';
}
}
BTWget_id()
無法執行,因為$product
看起來像空的。所以這就是我堆疊的地方。
是的,我想列印 HTML 的位置是woocommerce_before_shop_loop_item
- 就在銷售徽章之前。
關于如何過濾回圈專案的任何建議?
uj5u.com熱心網友回復:
$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 '<script>console.log("add_custom_badge")</script>';
}
}
}
add_action( 'woocommerce_before_shop_loop_item', 'action_woocommerce_before_shop_loop_item', 10 );
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/481117.html