woocommerce 产品属性无法以编程方式工作

问题描述 投票:0回答:1

我想在 woocommerce 中以编程方式应用属性,因为我已经使用了此代码,但它不起作用,任何人都可以查看我的代码并帮助我解决此问题吗?

$product_id = 4931;
    $attribute_name = "test_attribute";
    $attribute_value = "test_attribute";
    $term_taxonomy_ids = wp_set_object_terms($product_id, $attribute_value, $attribute_name, true);
    $data = array(
    $attribute_name => array(
    'name' => $attribute_name,
    'value' => '',
    'is_visible' => '1',
    'is_variation' => '0',
    'is_taxonomy' => '1'
    )
    );
    //First getting the Post Meta
    $_product_attributes = get_post_meta($product_id, '_product_attributes', TRUE);
    //Updating the Post Meta
    update_post_meta($product_id, '_product_attributes', array_merge($_product_attributes, $data));
}
php wordpress woocommerce
1个回答
0
投票

我建议使用 wc-functions 来处理产品数据,因为将来产品数据可能不再在 wp_post 和 wp_post_meta 表中。

$product_id = 4931;

$p = wc_get_product( $product_id );
$my_custom_value = $p->get_meta('_custom_value');

// to change the costum attribute
$p->update_meta_data('_custom_value', $my_new_value );
$p->save();

此链接有有用的信息:

wc_get_products 和 WC_Product_Query

访问 Woocommerce 3 中的 WC_Product 受保护数据

© www.soinside.com 2019 - 2024. All rights reserved.