如何获取具有特定名称/值的所有变体ID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取具有特定名称/值的所有变体ID相关的知识,希望对你有一定的参考价值。

我正在尝试获取商店中具有特定名称/值的所有变体ID。

我有一大堆可变产品,有些产品的名称包含一个字符串。我需要获取这些变体的ID。

我在网上找到的所有东西都找到了ID的名字,但我需要做相反的事情。

答案

这就是我最终想出来回答我自己的问题:

global $products;
$products = array();

$all_products = wc_get_products(array(
    'numberposts' => -1,
    'post_status' => 'published',
    'type' => 'variable'
));

foreach ($all_products as $product) {
    $available_variations = $product->get_available_variations();

    foreach ($available_variations as $variation) {
        $variation_id = $variation['variation_id'];
        $variation_product = wc_get_product($variation_id);
        $variation_you_want_to_search = $variation_product->get_attribute( 'variation-attribute-name' );

        if (strpos($variation_you_want_to_search, 'STRING TO SEARCH FOR') !== false) {
            array_push($products, $variation_id);
        }
    }
}

以上是关于如何获取具有特定名称/值的所有变体ID的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 LINQ 在 asp.net mvc 中获取具有特定子值的所有父母? [复制]

LINQ:获取包含具有特定名称和值的属性的数组中的对象

获取具有不同类型和名称的特定ID mysql的总和

在 sqlite 查询中如何获取具有所需值的特定行和列

如何使用 Doctrine 选择没有具有特定值的一对多实体的所有行

具有所有字段名称和名称不存在的空值的 UNION