我正在使用Woocommerce Dynamic Pricing plugin,这是非常有用的,但不容易让我修正价格更新通过。数据库。
查看样本数据,
{"set_5339c459a78e7":
{"conditions_type":"all",
"conditions":{"1":{"type":"apply_to","args":{"applies_to":"everyone"}}},
"collector":{"type":"product"},
"mode":"block",
"date_from":"",
"date_to":"",
"rules":{"1":{"from":"","to":"","type":"price_discount","amount":""}},
"blockrules": {"1":{
"from":"2",
"adjust":"1",
"type":"fixed_adjustment",
"amount":"0.26","repeating":"yes"}}}}元似乎要求set_*对产品元进行特定,否则它将不能正确应用。
修改代码时,我注意到这一点:
$terms = get_terms('product_cat', array('hierarchical' => false, 'hide_empty' => false, 'parent' => 0));
foreach ($terms as $item_id => $item) {
$set_index = $item->term_id;
$name = 'set_' . $set_index;
}这对我来说很奇怪,因为term_id看起来是一个13个字符的字母数字字符串,而不是预期的bigint。有人能解释一下当我手动更新表时如何重现这个字符串吗?
发布于 2014-10-16 14:46:55
我看了一下代码,我发现在/admin/admin-init.php中,它指定了AJAX处理程序,这就是它如何产生新的集合名称的:
function woocommerce_pricing_product_admin_create_empty_ruleset() {
global $wc_product_pricing_admin;
$wc_product_pricing_admin->create_empty_ruleset( uniqid('set_') );
die();
}正如你所看到的,它只使用了PHP的uniqid函数,前缀只有"set_",所以在产品规则的情况下,它看起来只是一个随机的ID,希望这会有所帮助。
https://stackoverflow.com/questions/22771283
复制相似问题