簡體   English   中英

在 WooCommerce 中添加、更新或刪除產品自定義字段

[英]Add, update or remove product custom field in WooCommerce

我使用以下幾行將Value保存到數據庫中。 我對這段代碼有一個問題,當我刪除輸入時它仍然保留它。 刪除它的唯一方法是放 (空格)作為輸入。

$field_key_pills_1 = 'custom_text_field_category_pills';
if ( isset( $_POST[$field_key_pills_1] ) && ! empty( $_POST[$field_key_pills_1] ) ) {
    $attribute_pills_1 = wc_get_product( $post_id );
        $attribute_pills_1->update_meta_data( $field_key_pills_1, sanitize_text_field( $_POST[$field_key_pills_1] ) );
    $attribute_pills_1->save();
} else {
    $attribute_pills_1 = wc_get_product( $post_id );
    $attribute_pills_1 = delete_post_meta( $post_id, 'custom_text_field_category_pills' );
    }

請給我任何您認為可以解決此問題的提示。

請嘗試使用WC_Data delete_meta_data()方法刪除產品元數據(元鍵 + 值)來重新訪問以下代碼:

$key_pills_1    = 'custom_text_field_category_pills';
$product_pills1 = wc_get_product( $post_id );

// Check that the product and the product input field exists
if ( is_a($product_pills1, 'WC_Product') && isset($_POST[$key_pills_1]) {
    if ( ! empty($_POST[$key_pills_1]) ) {
        $product_pills1->update_meta_data( $key_pills_1, sanitize_text_field($_POST[$key_pills_1]) ); // Set or update
    } else {
        $product_pills1->delete_meta_data( $key_pills_1 ); // remove
    }
    $product_pills1->save(); // Sync and save to database   
} 

它應該工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM