经过数小时的研究后,我无法将其付诸实践。我希望有一个人可以帮助我。
在woocommerce中,缺货消息仅显示在单个产品页面上,而不显示在目录页面上。这意味着有人首先必须点击该产品才能发现它已售罄。游民。因为我们销售独特的产品,所以展示缺货产品对我们来说非常重要。 "缺货"通知必须直接在产品图片下可见。
渴望解决方案:)
亲切的问候,
Roos
答案 0 :(得分:4)
2017年,此代码段将有效:
<div ng-click="onAccordionClick(p[0], visitCompare[p[0]])">
答案 1 :(得分:2)
我知道它已经有一段时间但我只是想做同样的事情,并注意到循环中的li元素有两个类。
<li class="first ... outofstock">
VS
<li class="first ... instock">
如果它只是你要改变的标记,可能只是做CSS并且不要仅仅为了消息而挂钩到woocommerce。
答案 2 :(得分:1)
最简单的方法是使用css:
目录中的每个产品都有一个&lt; li>标签。如果产品有库存,它将具有此类“instock”如果它没有库存,它将具有此类“outofstock”
所以你可以创建这个css:
.outofstock:before{
content: url(http://image.png);
position: absolute !important;
top: 9px;
left: 7px !important;
text-align: center;
z-index: 9999999;
}
请记得将image.png网址替换为您的网址。
答案 3 :(得分:0)
找到此代码段here。在我的网站上完美地工作。
//add action give it the name of our function to run
add_action( 'woocommerce_after_shop_loop_item_title', 'wcs_stock_text_shop_page', 25 );
//create our function
function wcs_stock_text_shop_page() {
//returns an array with 2 items availability and class for CSS
global $product;
$availability = $product->get_availability();
//check if availability in the array = string 'Out of Stock'
//if so display on page.//if you want to display the 'in stock' messages as well just leave out this, == 'Out of stock'
if ( $availability['availability'] == 'Out of stock') {
echo apply_filters( 'woocommerce_stock_html', '<p class="stock ' . esc_attr( $availability['class'] ) . '">' . esc_html( $availability['availability'] ) . '</p>', $availability['availability'] );
}
}
答案 4 :(得分:0)
@yuvalsab,一个不错的;) 这是在2020年进行的工作
=====================
add_action( 'woocommerce_after_shop_loop_item_title', 'talbiconsept_wc_template_loop_stock', 10 );
function talbiconsept_wc_template_loop_stock() {
global $product;
if($product->managing_stock() && (int)$product->get_stock_quantity() < 1)
echo '<p class="stock out-of-stock">'.__('Out of Stock').'</p>';
}