在WooCommerce前端选中"Enable"的情况下,返回变量产品的所有变体的正确语法是什么?

看起来"Enable"是由WC_Product_Variation对象中的"Status"键和值"Publish"表示的.

这将返回所有变量,包括‘状态’为‘发布’和‘私有’的变量:

$args = array('status' => 'publish');
$variations = $product->get_children($args);

这不会返回任何变体:

$args = array(
    'parent' => $product_id,
    'status' => 'publish',
);
$variations = wc_get_products( $args );

这些变量返回的变量子集的‘Status’为‘PUBLISH’,并且在某些情况下排除了带有‘STOCK_QUANTITY’>0的一些变量:

$variations = $product->get_available_variations();
$variations = $product->get_visible_children();

推荐答案

希望这能有所帮助

$args = array(
        'status' => 'publish',
        'type' => 'variation',
        'parent' => $product_id, //This is the ID of the parent variable product
    );
    
    $variations = wc_get_products($args);

Php相关问答推荐

为什么注册SIGHUP的处理程序函数会阻止在PHP CLI中等待输入时点击X关闭Xterm窗口?""

PHP FFI—将PHP数组转换为C指针数组

如何优化-PHP 7.3.14+Laravel 6

Msgraph-sdk-php v2如何从返回对象中获取数据?

将购买限制在WooCommerce中具有相同产品属性的项目

多行PHP属性声明中是否允许单行注释

将客户重定向到自定义感谢页后的空白页

WooCommerce-在选定类别中每消费X个金额即可添加免费礼物

无法使用php IMAP从Gmail获取收件箱

返回WooCommerce中的所有已启用变体

Laravel自定义验证规则更正

在WooCommerce循环中添加子类别和产品之间的分隔符

在 DateTime 或 DateTimeImmutable 对象上调用modify() 时是否必须使用空格?

将图像作为 PHP post 响应发送到浏览器

当我激活插件时出现错误注意:未定义的偏移量:1

在 mysql 上的 PDO 中启用自动提交并将自动提交设置为关闭

使用自定义规则进行 Livewire 验证不会显示错误

为WooCommerce中的运输方式ID设置必填的 checkout 订单备注字段

使用循环和引用而不是递归创建分层/父子数组

Php 的新WeakMap - 枚举曾经被垃圾收集过吗?