通过 WooCommerce API 获取与某个属性匹配的所有产品

发布于 2025-01-20 22:27:21 字数 427 浏览 0 评论 0原文

我想找到一种方法来获取与属性品牌 = 226Ers 匹配的所有产品。例如。 我正在使用 automattic/woocommerce 包。 我尝试了一千种方法,但没有一个有效。 我查看了文档并检查了互联网,但我找不到执行此操作的方法。 这是一个例子:

$data = [
            'attributes' => [
                [
                    'id' => 3,// id of attribute Marca
                    'options' => '226Ers'
                ]
            ]
        ];
$this->productos = $woocommerce->get('products', $data);

I would like to find a way to get all the products that match an attribute brand = 226Ers. For example.
I am using the automattic/woocommerce package.
I have tried a thousand ways but none of them work.
I have looked at the documentation and checked the internet but I can't find the way to do it.
Here is an example:

$data = [
            'attributes' => [
                [
                    'id' => 3,// id of attribute Marca
                    'options' => '226Ers'
                ]
            ]
        ];
$this->productos = $woocommerce->get('products', $data);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

失眠症患者 2025-01-27 22:27:21

看来您应该传递属性和属性术语来检索按属性过滤的产品。来自( woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-products-controller.php 第 117 行 )

    // Filter by attribute and term.
    if ( ! empty( $request['attribute'] ) && ! empty( $request['attribute_term'] ) ) {
        if ( in_array( $request['attribute'], wc_get_attribute_taxonomy_names(), true ) ) {
            $tax_query[] = array(
                'taxonomy' => $request['attribute'],
                'field'    => 'term_id',
                'terms'    => $request['attribute_term'],
            );
        }
    }

所以代码可能像

$data = [
    'attribute_term' => 3',
    'attribute' => 'pa_marca'
];
$this->productos = $woocommerce->get('products', $data);

It seems like you should pass the attribute and the attribute term to retrieve the product filtered by attribute. From ( woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-products-controller.php Line 117 )

    // Filter by attribute and term.
    if ( ! empty( $request['attribute'] ) && ! empty( $request['attribute_term'] ) ) {
        if ( in_array( $request['attribute'], wc_get_attribute_taxonomy_names(), true ) ) {
            $tax_query[] = array(
                'taxonomy' => $request['attribute'],
                'field'    => 'term_id',
                'terms'    => $request['attribute_term'],
            );
        }
    }

So the code may like

$data = [
    'attribute_term' => 3',
    'attribute' => 'pa_marca'
];
$this->productos = $woocommerce->get('products', $data);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文