首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WooCommere:显示缺货商品的库存徽章

WooCommere:显示缺货商品的库存徽章
EN

Stack Overflow用户
提问于 2022-11-04 08:56:31
回答 2查看 58关注 0票数 0

在我的WooCommere商店,当我的产品处于落后状态时,我的产品上仍然会出现销售徽章。我想把销售徽章换成“库存外”标签。

到目前为止,我有这样的代码:

代码语言:javascript
复制
add_action( 'woocommerce_before_shop_loop_item_title', 'new_badge', 3 );         
    
function new_badge() {
  global $product;
  if ( $product->is_on_backorder(1) ) {
    echo '<span class="out-of-stock-badge" data-shape="type-3">' . esc_html__( 'Out Of Stock', 'woocommerce' ) . '</span>';
   }
}

此代码只在现有的销售徽章上添加带有缺货标识的跨度,这会引发重叠。

有办法直接删除销售徽章吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-04 10:21:07

您可以使用过滤器'woocommerce_sale_flash‘删除默认的销售闪存徽章。

试试这段代码。

代码语言:javascript
复制
add_action( 'woocommerce_before_shop_loop_item_title', 'new_badge', 3 );         

function new_badge() {
   global $product;
 if ( $product->is_on_backorder(1) ) {
   add_filter('woocommerce_sale_flash', function (){return false;});
    echo '<span class="out-of-stock-badge" data-shape="type-3">' . esc_html__( 'Out Of Stock', 'woocommerce' ) . '</span>';
  }
 }
票数 2
EN

Stack Overflow用户

发布于 2022-11-04 09:48:15

再加上WooCommerce卖光了整个商店,最常见的情况是把WooCommerce卖光了,把所有的产品都卖光了。这可以通过在主题的functions.php文件中放置以下代码片段来实现。

add_action(‘woocommerce_item_shop_loop_item_title’,函数(){

全球$product;

如果(!$product>is_in_stock()){

代码语言:javascript
复制
   echo '<span class="now_sold">Now Sold</span>';

});

将以下CSS代码放入style.css文件(位于主题文件夹中):

.now_sold {

代码语言:javascript
复制
background: #000080;

color: #fff;

font-size: 14px;

font-weight: 700;

padding: 6px 12px;

position: absolute;

right: 0;

top: 0;

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74314424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档