php – WordPress Woocommerce – 使用update_post_meta添加产品属性

前端之家收集整理的这篇文章主要介绍了php – WordPress Woocommerce – 使用update_post_meta添加产品属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我客户网站上的产品需要我通过产品添加的某些属性 – > wordpress管理中的属性.在这个导入脚本中我编码我需要使用函数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);
}

// 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相关文章