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

时间:2018-09-05 13:01:26

标签: php wordpress methods woocommerce custom-fields

如何在一篇文章中将值从发布元复制到其他归档的元? 例如:

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

字段1或字段2中只有一个具有值,而字段3始终具有从fiel1或field2中复制的e值。

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

1 个答案:

答案 0 :(得分:2)

您可以通过2种方式来做到这一点:

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)新方法 (自WooCommerce 3, CRUD methods起),来自$productWC_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文件中。两种方法都可以。