如何在WooCommerce中更新自定义字段

时间:2020-05-20 作者:TVBZ

我使用上的说明在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\', \'\' );

    }
Theif (!empty(...)) 首次添加字段值时保存该字段值。这个else ... 允许清空字段并删除其值。但我还是不能改变这个值。删除后,我无法将新值保存到字段中。

我知道我的问题就在这个函数里面。但我想不出来。有什么建议吗?

谢谢

1 个回复
最合适的回答,由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\', \'\' );

    }

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: