Add more actions to allow hooking into meta changes.
This commit is contained in:
parent
86c69ca634
commit
b7b3101139
|
@ -683,15 +683,67 @@ abstract class WC_Data {
|
||||||
foreach ( $this->meta_data as $array_key => $meta ) {
|
foreach ( $this->meta_data as $array_key => $meta ) {
|
||||||
if ( is_null( $meta->value ) ) {
|
if ( is_null( $meta->value ) ) {
|
||||||
if ( ! empty( $meta->id ) ) {
|
if ( ! empty( $meta->id ) ) {
|
||||||
|
/**
|
||||||
|
* Trigger action before saving to the DB. Allows you to adjust order props before save.
|
||||||
|
*
|
||||||
|
* @param WC_Data $this The object being saved.
|
||||||
|
* @param WC_Data_Store_WP $data_store THe data store persisting the data.
|
||||||
|
*/
|
||||||
|
do_action( 'woocommerce_before_' . $this->object_type . '_object_save', $this, $this->data_store );
|
||||||
|
|
||||||
$this->data_store->delete_meta( $this, $meta );
|
$this->data_store->delete_meta( $this, $meta );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Trigger action before saving to the DB. Allows you to adjust order props before save.
|
||||||
|
*
|
||||||
|
* @param WC_Data $this The object being saved.
|
||||||
|
* @param WC_Data_Store_WP $data_store THe data store persisting the data.
|
||||||
|
*/
|
||||||
|
do_action( 'woocommerce_after_' . $this->object_type . '_object_save', $this, $this->data_store );
|
||||||
|
|
||||||
|
|
||||||
unset( $this->meta_data[ $array_key ] );
|
unset( $this->meta_data[ $array_key ] );
|
||||||
}
|
}
|
||||||
} elseif ( empty( $meta->id ) ) {
|
} elseif ( empty( $meta->id ) ) {
|
||||||
|
/**
|
||||||
|
* Trigger action before saving to the DB. Allows you to adjust order props before save.
|
||||||
|
*
|
||||||
|
* @param WC_Data $this The object being saved.
|
||||||
|
* @param WC_Data_Store_WP $data_store THe data store persisting the data.
|
||||||
|
*/
|
||||||
|
do_action( 'woocommerce_before_' . $this->object_type . '_object_save', $this, $this->data_store );
|
||||||
|
|
||||||
$meta->id = $this->data_store->add_meta( $this, $meta );
|
$meta->id = $this->data_store->add_meta( $this, $meta );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Trigger action before saving to the DB. Allows you to adjust order props before save.
|
||||||
|
*
|
||||||
|
* @param WC_Data $this The object being saved.
|
||||||
|
* @param WC_Data_Store_WP $data_store THe data store persisting the data.
|
||||||
|
*/
|
||||||
|
do_action( 'woocommerce_after_' . $this->object_type . '_object_save', $this, $this->data_store );
|
||||||
|
|
||||||
$meta->apply_changes();
|
$meta->apply_changes();
|
||||||
} else {
|
} else {
|
||||||
if ( $meta->get_changes() ) {
|
if ( $meta->get_changes() ) {
|
||||||
|
/**
|
||||||
|
* Trigger action before saving to the DB. Allows you to adjust order props before save.
|
||||||
|
*
|
||||||
|
* @param WC_Data $this The object being saved.
|
||||||
|
* @param WC_Data_Store_WP $data_store THe data store persisting the data.
|
||||||
|
*/
|
||||||
|
do_action( 'woocommerce_before_' . $this->object_type . '_object_save', $this, $this->data_store );
|
||||||
|
|
||||||
$this->data_store->update_meta( $this, $meta );
|
$this->data_store->update_meta( $this, $meta );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Trigger action before saving to the DB. Allows you to adjust order props before save.
|
||||||
|
*
|
||||||
|
* @param WC_Data $this The object being saved.
|
||||||
|
* @param WC_Data_Store_WP $data_store THe data store persisting the data.
|
||||||
|
*/
|
||||||
|
do_action( 'woocommerce_after_' . $this->object_type . '_object_save', $this, $this->data_store );
|
||||||
|
|
||||||
$meta->apply_changes();
|
$meta->apply_changes();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue