Ich entwickle Woocommerce auf WordPress und möchte einige Verkaufsabzeichen erstellen, aber den Verkaufspreis ignorieren (nur den regulären Preis).
Ich habe das ein paar Mal versucht, aber das „Promotion Badge“ erscheint nur, wenn ich die Nummer auf den Verkaufspreis des Produkts gebe
Ich verwende den folgenden Code
add_filter('woocommerce_sale_flash', 'woocommerce_custom_sale_text', 10, 3); function woocommerce_custom_sale_text($text, $post, $_product) { global $post,$product; if ( ! $product->is_in_stock() ) return; $sale_price = get_post_meta( $product->id, '_price', true); $regular_price = get_post_meta( $product->id, '_regular_price', true); if (has_term('one', 'product_cat', $product->ID)) { return '<span class="onsale">one</span>'; } elseif (has_term('two', 'product_cat', $product->ID)) { return '<span class="onsale">two</span>'; } elseif (has_term('three', 'product_cat', $product->ID) || empty($sale_price)) { return '<span class="onsale">three</span>'; } return '<span class="onsale">Sale</span>'; }
过滤器本身仅在产品促销时应用。
您需要覆盖在检查产品是否在促销之前发生的闪购操作。
首先,删除核心的闪购挂钩。
然后,添加您的自定义销售功能。
然后使用
echo
而不是return