gpt4 book ai didi

wordpress - 获取产品变体父产品

转载 作者:行者123 更新时间:2023-12-05 02:01:23 26 4
gpt4 key购买 nike

如何获取变体父产品 ID。

例子:我有 ID 为 35 的产品该产品有两种颜色 - 红色 (ID 351)、黑色 (ID 352)

我的代码: $product = wc_get_product(get_the_ID());//get_the_ID() 是 ID 351,我需要这个父 ID 35

最佳答案

正确的方法

正如 LoicTheAztec 在评论中所建议的那样,您应该使用它:

$parent_product = wc_get_product($product->get_parent_id());

你应该通过 get_parent_id() 检索父产品的原因是它会触发钩子(Hook) woocommerce_product_variation_get_parent_id 并且它很容易被其他插件/主题修改:

add_filter('woocommerce_product_variation_get_parent_id', function($value, $wc_data) {
// ...
return $value;
}, 10, 2);

这也可以,但不会触发特定于 WC 的 Hook :

$parent_product_id = wp_get_post_parent_id($product->get_id());
$parent_product = wc_get_product($parent_product_id);

旧答案

注意:这在循环外不起作用,如果您尝试将 get_the_ID() 替换为 $product->id,将始终返回 0 - 在这种情况下使用 $product->get_id(),如上例所示。

使用 wp_get_post_parent_id,因为变体将其父项作为产品本身。

例子:

$variation_id = get_the_ID();
$product_id = wp_get_post_parent_id($variation_id);

切勿使用 WC_Product::get_parent() :

$parent_product = $product->get_parent(); // will always return '0

关于wordpress - 获取产品变体父产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66615867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com