Merge pull request #13442 from woocommerce/fix-13419
Update date created/modified if changed.
This commit is contained in:
commit
c76c2d1a8d
|
@ -360,6 +360,9 @@ class WC_Order extends WC_Abstract_Order {
|
|||
}
|
||||
}
|
||||
}
|
||||
if ( isset( $changed_props['customer_note'] ) ) {
|
||||
$changed_props['post_excerpt'] = $changed_props['customer_note'];
|
||||
}
|
||||
return $changed_props;
|
||||
}
|
||||
|
||||
|
|
|
@ -117,15 +117,21 @@ abstract class Abstract_WC_Order_Data_Store_CPT extends WC_Data_Store_WP impleme
|
|||
public function update( &$order ) {
|
||||
$order->set_version( WC_VERSION );
|
||||
|
||||
wp_update_post( array(
|
||||
'ID' => $order->get_id(),
|
||||
'post_date' => date( 'Y-m-d H:i:s', $order->get_date_created( 'edit' ) ),
|
||||
'post_date_gmt' => get_gmt_from_date( date( 'Y-m-d H:i:s', $order->get_date_created( 'edit' ) ) ),
|
||||
'post_status' => 'wc-' . ( $order->get_status( 'edit' ) ? $order->get_status( 'edit' ) : apply_filters( 'woocommerce_default_order_status', 'pending' ) ),
|
||||
'post_parent' => $order->get_parent_id(),
|
||||
'post_excerpt' => $this->get_post_excerpt( $order ),
|
||||
) );
|
||||
$changes = $order->get_changes();
|
||||
|
||||
// Only update the post when the post data changes.
|
||||
if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'parent_id', 'post_excerpt' ), array_keys( $changes ) ) ) {
|
||||
wp_update_post( array(
|
||||
'ID' => $order->get_id(),
|
||||
'post_date' => date( 'Y-m-d H:i:s', $order->get_date_created( 'edit' ) ),
|
||||
'post_date_gmt' => get_gmt_from_date( date( 'Y-m-d H:i:s', $order->get_date_created( 'edit' ) ) ),
|
||||
'post_status' => 'wc-' . ( $order->get_status( 'edit' ) ? $order->get_status( 'edit' ) : apply_filters( 'woocommerce_default_order_status', 'pending' ) ),
|
||||
'post_parent' => $order->get_parent_id(),
|
||||
'post_excerpt' => $this->get_post_excerpt( $order ),
|
||||
'post_modified' => isset( $changes['date_modified'] ) ? date( 'Y-m-d H:i:s', $order->get_date_modified( 'edit' ) ) : current_time( 'mysql' ),
|
||||
'post_modified_gmt' => isset( $changes['date_modified'] ) ? get_gmt_from_date( date( 'Y-m-d H:i:s', $order->get_date_modified( 'edit' ) ) ) : current_time( 'mysql', 1 ),
|
||||
) );
|
||||
}
|
||||
$this->update_post_meta( $order );
|
||||
$order->save_meta_data();
|
||||
$order->apply_changes();
|
||||
|
|
|
@ -157,16 +157,20 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
|
|||
$changes = $product->get_changes();
|
||||
|
||||
// Only update the post when the post data changes.
|
||||
if ( array_intersect( array( 'description', 'short_description', 'name', 'parent_id', 'reviews_allowed', 'status', 'menu_order' ), array_keys( $changes ) ) ) {
|
||||
if ( array_intersect( array( 'description', 'short_description', 'name', 'parent_id', 'reviews_allowed', 'status', 'menu_order', 'date_created', 'date_modified' ), array_keys( $changes ) ) ) {
|
||||
wp_update_post( array(
|
||||
'ID' => $product->get_id(),
|
||||
'post_content' => $product->get_description( 'edit' ),
|
||||
'post_excerpt' => $product->get_short_description( 'edit' ),
|
||||
'post_title' => $product->get_name( 'edit' ),
|
||||
'post_parent' => $product->get_parent_id( 'edit' ),
|
||||
'comment_status' => $product->get_reviews_allowed( 'edit' ) ? 'open' : 'closed',
|
||||
'post_status' => $product->get_status( 'edit' ) ? $product->get_status( 'edit' ) : 'publish',
|
||||
'menu_order' => $product->get_menu_order( 'edit' ),
|
||||
'post_content' => $product->get_description( 'edit' ),
|
||||
'post_excerpt' => $product->get_short_description( 'edit' ),
|
||||
'post_title' => $product->get_name( 'edit' ),
|
||||
'post_parent' => $product->get_parent_id( 'edit' ),
|
||||
'comment_status' => $product->get_reviews_allowed( 'edit' ) ? 'open' : 'closed',
|
||||
'post_status' => $product->get_status( 'edit' ) ? $product->get_status( 'edit' ) : 'publish',
|
||||
'menu_order' => $product->get_menu_order( 'edit' ),
|
||||
'post_date' => date( 'Y-m-d H:i:s', $product->get_date_created( 'edit' ) ),
|
||||
'post_date_gmt' => get_gmt_from_date( date( 'Y-m-d H:i:s', $product->get_date_created( 'edit' ) ) ),
|
||||
'post_modified' => isset( $changes['date_modified'] ) ? date( 'Y-m-d H:i:s', $product->get_date_modified( 'edit' ) ) : current_time( 'mysql' ),
|
||||
'post_modified_gmt' => isset( $changes['date_modified'] ) ? get_gmt_from_date( date( 'Y-m-d H:i:s', $product->get_date_modified( 'edit' ) ) ) : current_time( 'mysql', 1 ),
|
||||
) );
|
||||
}
|
||||
|
||||
|
|
|
@ -76,8 +76,8 @@ class WC_Product_Variation_Data_Store_CPT extends WC_Product_Data_Store_CPT impl
|
|||
$new_title = $this->generate_product_title( $product );
|
||||
$product->set_name( $new_title );
|
||||
wp_update_post( array(
|
||||
'ID' => $product->get_id(),
|
||||
'post_title' => $new_title,
|
||||
'ID' => $product->get_id(),
|
||||
'post_title' => $new_title,
|
||||
) );
|
||||
}
|
||||
|
||||
|
@ -138,14 +138,18 @@ class WC_Product_Variation_Data_Store_CPT extends WC_Product_Data_Store_CPT impl
|
|||
$title = $this->generate_product_title( $product );
|
||||
|
||||
// Only update the post when the post data changes.
|
||||
if ( $title !== $product->get_name( 'edit' ) || array_intersect( array( 'parent_id', 'status', 'menu_order' ), array_keys( $changes ) ) ) {
|
||||
if ( $title !== $product->get_name( 'edit' ) || array_intersect( array( 'parent_id', 'status', 'menu_order', 'date_created', 'date_modified' ), array_keys( $changes ) ) ) {
|
||||
wp_update_post( array(
|
||||
'ID' => $product->get_id(),
|
||||
'post_title' => $title,
|
||||
'post_parent' => $product->get_parent_id( 'edit' ),
|
||||
'comment_status' => 'closed',
|
||||
'post_status' => $product->get_status( 'edit' ) ? $product->get_status( 'edit' ) : 'publish',
|
||||
'menu_order' => $product->get_menu_order( 'edit' ),
|
||||
'ID' => $product->get_id(),
|
||||
'post_title' => $title,
|
||||
'post_parent' => $product->get_parent_id( 'edit' ),
|
||||
'comment_status' => 'closed',
|
||||
'post_status' => $product->get_status( 'edit' ) ? $product->get_status( 'edit' ) : 'publish',
|
||||
'menu_order' => $product->get_menu_order( 'edit' ),
|
||||
'post_date' => date( 'Y-m-d H:i:s', $product->get_date_created( 'edit' ) ),
|
||||
'post_date_gmt' => get_gmt_from_date( date( 'Y-m-d H:i:s', $product->get_date_created( 'edit' ) ) ),
|
||||
'post_modified' => isset( $changes['date_modified'] ) ? date( 'Y-m-d H:i:s', $product->get_date_modified( 'edit' ) ) : current_time( 'mysql' ),
|
||||
'post_modified_gmt' => isset( $changes['date_modified'] ) ? get_gmt_from_date( date( 'Y-m-d H:i:s', $product->get_date_modified( 'edit' ) ) ) : current_time( 'mysql', 1 ),
|
||||
) );
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue