首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Woocommerce中文产品属性分类的特殊编码

Woocommerce中文产品属性分类的特殊编码
EN

Stack Overflow用户
提问于 2020-08-14 22:07:48
回答 1查看 145关注 0票数 0

我在woocommerce有一个中文存储的产品,

产品有不同的颜色变化,woocommerce似乎encode了颜色属性的属性分类。在英文产品中,它会简单地将分类法存储为pa_color,但在我的中文产品中,woocommerce将分类法存储为pa_191386aef4bc441epa_后面的字母和数字是字符串颜色encoded form,在英语中翻译为颜色,因此术语分类pa_191386aef4bc441e在英语中仅表示pa_color

我试图弄清楚woocommerce如何将中文字符串颜色编码为191386aef4bc441e,以便我可以将文本解码回有效的中文字符串,最终目标是将产品属性转换为英语,并用替换的英文值替换中文值。

woocommerce如何对产品属性进行编码,以便我可以将其解码回原始字符串?

请看下图,箭头指向的文本是存储为pa_191386aef4bc441e的中文字符串

下面是产品数据在woocommerce数据库上的外观。

该帖子的ID为1347

术语

术语关系

术语分类法

EN

回答 1

Stack Overflow用户

发布于 2020-09-11 03:13:49

我在另一种语言(希伯来语)中遇到了同样的问题,但我注意到,如果您以编程的方式创建属性,则不会出现此问题,例如,在下面的代码中

代码语言:javascript
复制
`<?php
require(dirname(__FILE__) . '/wp-load.php');

  //Create main product
$product = new WC_Product_Variable();

$att_var = array();
//Create the attribute object with name weight
$attribute = new WC_Product_Attribute();
$attribute->set_id( 0 );
$attribute->set_name( 'weight' );
$attribute->set_options( array(
        '50g',
        '100g',
        '150g'
) );
$attribute->set_position( 0 );
$attribute->set_visible( 1 );
$attribute->set_variation( 1 );
$att_var[] = $attribute;

//Create the attribute object with name brand
$attribute = new WC_Product_Attribute();
$attribute->set_name( 'חברה' );
$attribute->set_options( array(
        'מרצדס',
        'וולוו'
) );
$attribute->set_position( 1 );
$attribute->set_visible( 1 );
$attribute->set_variation( 1 );
$att_var[] = $attribute;

$product->set_attributes($att_var);
$product->set_name('Product 3');
$product->set_status('publish');
$product->set_sku(12345);

//Save main product to get its id
$product->set_category_ids([47, 56] );
$id = $product->save();

//variation 1
$variation = new WC_Product_Variation();
$variation->set_regular_price(10);
$variation->set_sale_price(10);
$variation->set_stock_quantity(12);
$variation->set_manage_stock(True);
$variation->set_weight('50g');
$variation->set_parent_id($id);

$variation->set_attributes(array(
        'weight' => '50g',
        'חברה' => 'מרצדס'
));

//Save variation, returns variation id
$variation->save();

//variation 2
$variation_new = new WC_Product_Variation();
$variation_new->set_regular_price(15);
$variation_new->set_sale_price(12);
$variation_new->set_stock_quantity(20);
$variation_new->set_manage_stock(True);
$variation_new->set_weight('100g');
$variation_new->set_parent_id($id);

//Set attributes requires a key/value containing
$variation_new->set_attributes(array(
        'weight' => '100g',
        'חברה' => 'וולוו'
));


//Save variation, returns variation id
$variation_new->save();`
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63414380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档