【发布时间】:2020-07-07 15:20:31
【问题描述】:
我需要针对特定情况的帮助。在 WooCommerce 中,如果为简单的产品或变体启用了“管理库存”,则会在产品页面中显示通知 => 例如 [this example][1]
但是,如果未启用“管理库存”,则没有通知,我觉得很遗憾,因为即使我不管理库存数量,我仍然想通知我的客户它正好有库存。
我找到了以下代码。对于简单的产品,它可以正常工作。但是,对于可变产品,即使在选择变体之前也会显示此消息。这当然不行,这个代码只有在选择了一个变体后才会显示。
有人可以帮我解决这个问题吗?对于可变产品,仅在选择特定变体之后才应显示此消息。
我已经制作了一个视频捕捉以更具说明性:https://sgevcen.tinytake.com/tt/NDQzNTU2OF8xNDAyNTU2NA
function mycustom_shop_display_stock() {
global $product;
if ( !$product->get_manage_stock() && $product->is_in_stock() ) {
echo '<p class="stock in-stock">In Stock</p>';
}
}
add_action( 'woocommerce_before_add_to_cart_button', 'mycustom_shop_display_stock', 11 );
[1]: https://i.stack.imgur.com/aFnN1.png
【问题讨论】:
-
@7uc1f3r 并不是真正的重复,因为问题和我的答案与提到的线程略有不同。
-
@LoicTheAztec 我明白你的意思了,
$product->get_availability();。用在wc_get_stock_html函数中,不知道有没有优势?根据 html 输出更改文本,我相信它可以做到这两点。感谢您向我指出这一点 -
@7uc1f3r 是的,它是相关的,但这个线程是关于可变产品问题的变体......你的代码在stackoverflow.com/questions/60749190/… 中很好,因为我已经在很多答案中使用了这些相关的过滤器。我已在我的回答中添加了您的链接(和 +1)。
标签: php wordpress woocommerce hook-woocommerce stock