WooCommerce get_availability() returns 一个数组

WooCommerce get_availability() returns an array

我正在尝试使用 woocommerce 3.0.8 在函数内显示产品的可用性。

我的代码是:

global $product;    
echo $product->get_availability();

它只打印 Array 一词,没有其他任何内容。它不应该工作吗?
我不知道怎么了

更新:

WooCommerce 文档中有一个小错误,作为 WC_Product get_availability() 方法 return 一个数组 of 2 keys/values:

  • 可用性 text 基于库存状态 (使用关键字 'availability')。
  • 可用性 类名 基于库存状态 (带键 'class'

所以你不能对数组使用 echo。要查看该使用 print_r(),例如:

global $product;    
print_r($product->get_availability());

因此您的代码将是:

global $product; 
$availability = $product->get_availability();
echo $availability['availability']; // the availability text
echo '<br>'; // 
echo $availability['class']; // the availability class

注:无法使用WC_Productget_availability_text() or get_availability_class()方法,因为它们是protected (仅限 woocommerce 使用):

感谢您的帮助,我真的很感激。 我已经使用

修复了它
global $product;     
$availability = $product->get_availability();
return $availability[availability];

它就像一个魅力。再次感谢

与其他回复非常相似,但我使用以下代码来获取 可用性 class 因为 get_availability_class() 并非在所有情况下都对我有用:

$avail = $product->get_availability();
$class = $avail['class']