Abstract_WC_Order_Data_Store_CPT::update_post_meta PHP Метод

update_post_meta() защищенный Метод

Helper method that updates all the post meta for an order based on it's settings in the WC_Order class.
С версии: 2.7.0
protected update_post_meta ( &$order )
    protected function update_post_meta(&$order)
    {
        $updated_props = array();
        $changed_props = array_keys($order->get_changes());
        $meta_key_to_props = array('_order_currency' => 'currency', '_cart_discount' => 'discount_total', '_cart_discount_tax' => 'discount_tax', '_order_shipping' => 'shipping_total', '_order_shipping_tax' => 'shipping_tax', '_order_tax' => 'cart_tax', '_order_total' => 'total', '_order_version' => 'version', '_prices_include_tax' => 'prices_include_tax');
        foreach ($meta_key_to_props as $meta_key => $prop) {
            if (!in_array($prop, $changed_props)) {
                continue;
            }
            $value = $order->{"get_{$prop}"}('edit');
            if ('' !== $value) {
                $updated = update_post_meta($order->get_id(), $meta_key, $value);
            } else {
                $updated = delete_post_meta($order->get_id(), $meta_key);
            }
            if ($updated) {
                $updated_props[] = $prop;
            }
        }
    }

Usage Example

 /**
  * Helper method that updates all the post meta for an order based on it's settings in the WC_Order class.
  *
  * @param WC_Order
  * @param bool $force Force all props to be written even if not changed. This is used during creation.
  * @since 2.7.0
  */
 protected function update_post_meta(&$refund, $force = false)
 {
     parent::update_post_meta($refund, $force);
     $updated_props = array();
     $changed_props = $refund->get_changes();
     $meta_key_to_props = array('_refund_amount' => 'amount', '_refunded_by' => 'refunded_by', '_refund_reason' => 'reason');
     foreach ($meta_key_to_props as $meta_key => $prop) {
         if (!array_key_exists($prop, $changed_props) && !$force) {
             continue;
         }
         $value = $refund->{"get_{$prop}"}('edit');
         if ('' !== $value ? update_post_meta($refund->get_id(), $meta_key, $value) : delete_post_meta($refund->get_id(), $meta_key)) {
             $updated_props[] = $prop;
         }
     }
 }
All Usage Examples Of Abstract_WC_Order_Data_Store_CPT::update_post_meta