将 post 元自定义字段复制到其他自定义字段

Copy post meta custom field to other custom field

如何将值从 post 元复制到一个 post 中的其他归档元? 例如:

copy value from custom_field_1 (if exist) or custom_field_2 (if exist) to custom_ field_3

只有字段 1 或字段 2 之一有值,字段 3 始终具有从字段 1 或字段 2 复制的值。

所有自定义字段都在一个 post(woo 产品)元中。

您可以通过两种方式完成:

1) 旧方法 来自 $product_id 动态产品 ID (或订单 ID):

if( ( $value = get_post_meta( $product_id, 'custom_field_1', true ) || $value = get_post_meta( $product_id, 'custom_field_2', true ) ) && ! get_post_meta( $product_id, 'custom_field_3', true ) ){
    update_post_meta( $product_id, 'custom_field_3', $value );
}

2) 新方式 (since WooCommerce 3, CRUD methods) from $product, WC_Product对象(或来自$order,WC_Order对象) :

if( ( $value = $product->get_meta( 'custom_field_1' ) || $value = $product->get_meta( 'custom_field_2') ) && ! $product->get_meta( 'custom_field_3' ) ){
    $product->update_meta_data( 'custom_field_3', $value );
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。两种方式都有效。