gpt4 book ai didi

php - Wordpress Woocommerce - 使用 update_post_meta 添加产品属性

转载 作者:可可西里 更新时间:2023-10-31 23:03:58 26 4
gpt4 key购买 nike

我客户网站中的产品需要某些属性,我已通过 Wordpress 管理中的 Products -> Attributes 添加这些属性。在我编写的这个导入脚本中,我需要使用函数 update_post_meta($post_id, $meta_key, $meta_value) 来导入正确的属性和值。

目前我有这样的功能:

update_post_meta( $post_id, '_product_attributes', array());

但是我不确定如何正确传递属性及其值?

最佳答案

是的,所以我花了一些时间自己弄清楚,但我最终通过编写以下函数来做到这一点:

// @param int $post_id - The id of the post that you are setting the attributes for
// @param array[] $attributes - This needs to be an array containing ALL your attributes so it can insert them in one go
function wcproduct_set_attributes($post_id, $attributes) {
$i = 0;
// Loop through the attributes array
foreach ($attributes as $name => $value) {
$product_attributes[$i] = array (
'name' => htmlspecialchars( stripslashes( $name ) ), // set attribute name
'value' => $value, // set attribute value
'position' => 1,
'is_visible' => 1,
'is_variation' => 1,
'is_taxonomy' => 0
);

$i++;
}

// Now update the post with its new attributes
update_post_meta($post_id, '_product_attributes', $product_attributes);
}

// Example on using this function
// The attribute parameter that you pass along must contain all attributes for your product in one go
// so that the wcproduct_set_attributes function can insert them into the correct meta field.
$my_product_attributes = array('hdd_size' => $product->hdd_size, 'ram_size' => $product->ram_size);

// After inserting post
wcproduct_set_attributes($post_id, $my_product_attributes);

// Woohay done!

如果其他人需要在 WooCommerce 中以编程方式导入多个属性,我希望此功能对他们有所帮助!

关于php - Wordpress Woocommerce - 使用 update_post_meta 添加产品属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23444319/

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