php - 在我的每个产品中创建新元框后,如何将值存储在数据库中?如何使用函数正确更改这些值?
问题描述
我使用以下代码(粘贴在 functions.php 中)在我的每个产品中创建了一个新的元框:
/**
* ADD A CUSTOM SECURITY FIELD
*/
function cfsf_create_custom_field() {
$args = array(
'id' => 'cron_function_security_field',
'label' => __( 'Cron Function Security Field', 'cfsf' ),
'class' => 'cfsf-security-field',
'desc_tip' => true,
'description' => __( 'Security field when providing automatic updates', 'cfsf' ),
);
woocommerce_wp_text_input( $args );
}
add_action( 'woocommerce_product_options_general_product_data', 'cfsf_create_custom_field' );
1)该字段仅出现在常规选项卡中的简单产品 - 不是可变的 - 有什么想法吗?
2)当我插入任何值 - 数字或短语(123 或“set_attributes”)并单击保存时,该值不会存储 - 它不会再次显示。
您对如何将值正确存储在数据库中有任何想法吗?
我希望在功能中使用以下命令自动更改这些值,然后检查它们 - 使用 update_post_meta 并且“值”始终是函数名称(代码块以便更好地理解):
private function set_custom_price($product) {
if (!$product->exists()) {
return false;
}
$product_price = $product->get_regular_price();
if (($product_price > 0) && ($product_price < 401)) {
$product->set_regular_price(ceil(($product_price + ($product_price*(0.5)))/10) *10-1);
} elseif (($product_price > 400) && ($product_price < 801)) {
$product->set_regular_price(ceil(($product_price + 120)/10) *10-1);
} elseif (($product_price > 800) && ($product_price < 1101)) {
$product->set_regular_price(ceil(($product_price + 150)/10) *10-1);
} elseif (($product_price > 1100) && ($product_price < 1601)) {
$product->set_regular_price(ceil(($product_price + 200)/10) *10-1);
} elseif (($product_price > 1600) && ($product_price < 2001)) {
$product->set_regular_price(ceil(($product_price + 220)/10) *10-1);
} elseif (($product_price > 2000) && ($product_price < 5001)) {
$product->set_regular_price(ceil(($product_price + ($product_price*(0.15)))/10) *10-1);
}
update_post_meta($product,'cron_function_security_field','set_custom_price');
$product->save();
}
解决方案
推荐阅读
- reactjs - reactjs预选单选按钮
- android - GoogleAPI 异常中的状态码 API_UNAVAILABLE 和 API_NOT_CONNECTED 有什么区别?
- scala - 类型不匹配; 发现:所需单位:数组[org.apache.spark.sql.Dataset[org.apache.spark.sql.Row]]
- amazon-web-services - 如何执行存储在 S3 中而不是数据管道服务的 SQL 脚本
- deployment - 如何在deployment中指定不同版本的kubernetes中实现Canary部署
- android - AnimatedVectorDrawable 作为地图标记
- node.js - 如何替换路由中的 process.env.GEOCODER_API_KEY
- objective-c - 如何从文件列表制作 NSXMLDocument
- python - 在嵌套列表的索引 0 中查找最大值
- python - 在python中使用特定国家的IP地址请求一个url