我正在构建一个站点,其中以编程方式插入可变产品(带有产品变体)。我成功地学习了本教程:
插入WooCommerce产品
我需要的只是缺少的东西:
如何为可变产品设置默认属性值?可能吗?
1). 您需要为每个变量产品在json
数据中插入这段数组,如:
"variations_default_attributes":
[
{
"size" : "Medium",
"color" : "Blue"
}
]
或者
"variations_default_attributes":
{
"size" : "Medium",
"color" : "Blue"
}
此数组由属性short slug(不带“pa”
”)和默认术语名称值组成。
2)。然后专用功能:
function insert_variations_default_attributes( $post_id, $products_data ){
foreach( $products_data as $attribute => $value )
$variations_default_attributes['pa_'.$attribute] = get_term_by( 'name', $value, 'pa_'.$attribute )->slug;
// Save the variation default attributes to variable product meta data
update_post_meta( $post_id, '_default_attributes', $variations_default_attributes );
}
3). 您需要在末尾添加一行来触发此函数:
function insert_product ($product_data)
{
$post = array( // Set up the basic post data to insert for our product
'post_author' => 1,
'post_content' => $product_data['description'],
'post_status' => 'publish',
'post_title' => $product_data['name'],
'post_parent' => '',
'post_type' => 'product'
);
$post_id = wp_insert_post($post); // Insert the post returning the new post id
if (!$post_id) // If there is no post id something has gone wrong so don't proceed
{
return false;
}
update_post_meta($post_id, '_sku', $product_data['sku']); // Set its SKU
update_post_meta( $post_id,'_visibility','visible'); // Set the product to visible, if not it won't show on the front end
wp_set_object_terms($post_id, $product_data['categories'], 'product_cat'); // Set up its categories
wp_set_object_terms($post_id, 'variable', 'product_type'); // Set it to a variable product type
insert_product_attributes($post_id, $product_data['available_attributes'], $product_data['variations']); // Add attributes passing the new post id, attributes & variations
insert_product_variations($post_id, $product_data['variations']); // Insert variations passing the new post id & variations
## Insert variations default attributes passing the new post id & variations_default_attributes
insert_variations_default_attributes( $post_id, $products_data['variations_default_attributes'] );
}
代码进入函数。活动子主题(或主题)或任何插件文件中的php文件。
此代码经过测试并正常工作。
我有一个产品属性变化,有选项-小-20美元中等-25美元大-30美元 因为商店里的所有产品都有相同的价格。 如何以编程方式设置属性值的价格? 当我将3个属性变体按钮添加为变体时,它们会显示在产品页面上。 如何更改产品的价格时,"小"选项选择编程方式,而不是设置价格的变化选项在管理面板。
问题内容: 一个Kibana新手想知道如何以编程方式设置默认的索引模式,而不是像在https://www.elastic.co/guide/en/上提到的那样在第一次查看Kibana UI时通过Web浏览器在Kibana UI上设置它。kibana / current / setup.html 问题答案: Elasticsearch将所有Kibana元数据信息存储在索引下。Kibana配置(例如和
我在WooCommerce版本3+中创建了一个可变产品(父“产品”)。从一个WordPress插件中,我想以编程方式创建具有新属性值的产品变体(儿童“产品)。 变体属性已在WooCommerce中设置。 因此,每次创建一个变体时,都应以编程方式创建新属性的值,并在父变量product中设置新属性的值。 如何才能做到这一点呢?有可能吗? 更新:我已经为此编写了更多的代码行,并且尝试了许多方法来解决它
行动时刻 - 设置变量的默认值 我们并不总是确定变量是否存在。 Unlang为我们提供了语法,以便在变量不存在时指定默认值。 我们将再次通过修改上一个练习来证明这一点。 我们将使用radtest首先在请求中包含Framed-Protocol = PPP,并将其排除在外。 如果Framed-Protocol AVP不存在,我们将返回一个默认字符串。 编辑FreeRADIUS配置目录下的sites-a
所以我需要为@Transactional注释设置timeout参数。这个属性将来自一个属性文件,我不能这样做,因为我遇到了“注释属性transactional.timeout的值必须是常量表达式”。像这样的东西
问题内容: 如何确保从hibernate.cfg.xml加载所有属性,然后以编程方式添加其他属性?我看到了以下代码片段,但它看起来像是全新的配置,而不是现有配置的补充。 问题答案: 您显示的代码段是您所需要的。只需使用您现有的配置,而不是创建一个新的配置即可。 如果不是您实例化配置(例如,spring),则需要扩展创建它的类。