我使用上的说明在WooCommerce安装中添加了2个自定义字段this link. 它可以保存值,但我在更改/更新值时遇到了一些问题。
以下是我处理保存的代码:
// Hook save action to database
add_action(\'woocommerce_process_product_meta\', \'woocommerce_save_fields\');
// Save field to database
function woocommerce_save_fields($post_id)
{
$myField = $_POST[\'field_name\'];
if (!empty($myField))
update_post_meta($post_id, \'field_name\', esc_attr($myField), esc_attr($myField));
else update_post_meta( $post_id, \'field_name\', \'\' );
}
The
if (!empty(...))
首次添加字段值时保存该字段值。这个
else ...
允许清空字段并删除其值。但我还是不能改变这个值。删除后,我无法将新值保存到字段中。
我知道我的问题就在这个函数里面。但我想不出来。有什么建议吗?
谢谢
最合适的回答,由SO网友:TVBZ 整理而成
好的找到了。我忽视了这一愚蠢的错误。我有1个属性(esc_attr($myField)
) 在update_post_meta()
方法
因此,此函数工作正常:
function woocommerce_save_fields($post_id)
{
$myField = $_POST[\'field_name\'];
if (!empty($myField))
update_post_meta($post_id, \'field_name\', esc_attr($myField));
else update_post_meta( $post_id, \'field_name\', \'\' );
}