t_updates( $refund ); } /** * Helper method that updates post meta based on an refund object. * Mostly used for backwards compatibility purposes in this datastore. * * @param \WC_Order $refund Refund object. */ public function update_order_meta( &$refund ) { parent::update_order_meta( $refund ); // Update additional props. $updated_props = array(); $meta_key_to_props = array( '_refund_amount' => 'amount', '_refunded_by' => 'refunded_by', '_refunded_payment' => 'refunded_payment', '_refund_reason' => 'reason', ); $props_to_update = $this->get_props_to_update( $refund, $meta_key_to_props ); foreach ( $props_to_update as $meta_key => $prop ) { $meta_object = new WC_Meta_Data(); $meta_object->key = $meta_key; $meta_object->value = $refund->{"get_$prop"}( 'edit' ); $existing_meta = $this->data_store_meta->get_metadata_by_key( $refund, $meta_key ); if ( $existing_meta ) { $existing_meta = $existing_meta[0]; $meta_object->id = $existing_meta->id; $this->update_meta( $refund, $meta_object ); } else { $this->add_meta( $refund, $meta_object ); } $updated_props[] = $prop; } /** * Fires after updating meta for a order refund. * * @since 2.7.0 */ do_action( 'woocommerce_order_refund_object_updated_props', $refund, $updated_props ); } /** * Get a title for the new post type. * * @return string */ protected function get_post_title() { return sprintf( /* translators: %s: Order date */ __( 'Refund – %s', 'woocommerce' ), ( new \DateTime( 'now' ) )->format( _x( 'M d, Y @ h:i A', 'Order date parsed by DateTime::format', 'woocommerce' ) ) // phpcs:ignore WordPress.WP.I18n.MissingTranslatorsComment, WordPress.WP.I18n.UnorderedPlaceholdersText ); } /** * Returns data store object to use backfilling. * * @return \WC_Order_Refund_Data_Store_CPT */ protected function get_post_data_store_for_backfill() { return new \WC_Order_Refund_Data_Store_CPT(); } } t_updates( $refund ); } /** * Helper method that updates post meta based on an refund object. * Mostly used for backwards compatibility purposes in this datastore. * * @param \WC_Order $refund Refund object. */ public function update_order_meta( &$refund ) { parent::update_order_meta( $refund ); // Update additional props. $updated_props = array(); $meta_key_to_props = array( '_refund_amount' => 'amount', '_refunded_by' => 'refunded_by', '_refunded_payment' => 'refunded_payment', '_refund_reason' => 'reason', ); $props_to_update = $this->get_props_to_update( $refund, $meta_key_to_props ); foreach ( $props_to_update as $meta_key => $prop ) { $meta_object = new WC_Meta_Data(); $meta_object->key = $meta_key; $meta_object->value = $refund->{"get_$prop"}( 'edit' ); $existing_meta = $this->data_store_meta->get_metadata_by_key( $refund, $meta_key ); if ( $existing_meta ) { $existing_meta = $existing_meta[0]; $meta_object->id = $existing_meta->id; $this->update_meta( $refund, $meta_object ); } else { $this->add_meta( $refund, $meta_object ); } $updated_props[] = $prop; } /** * Fires after updating meta for a order refund. * * @since 2.7.0 */ do_action( 'woocommerce_order_refund_object_updated_props', $refund, $updated_props ); } /** * Get a title for the new post type. * * @return string */ protected function get_post_title() { return sprintf( /* translators: %s: Order date */ __( 'Refund – %s', 'woocommerce' ), ( new \DateTime( 'now' ) )->format( _x( 'M d, Y @ h:i A', 'Order date parsed by DateTime::format', 'woocommerce' ) ) // phpcs:ignore WordPress.WP.I18n.MissingTranslatorsComment, WordPress.WP.I18n.UnorderedPlaceholdersText ); } /** * Returns data store object to use backfilling. * * @return \WC_Order_Refund_Data_Store_CPT */ protected function get_post_data_store_for_backfill() { return new \WC_Order_Refund_Data_Store_CPT(); } }