From ab760c3681a6f5b762758b07b85d424f6c615474 Mon Sep 17 00:00:00 2001
From: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
Date: Fri, 25 Oct 2019 17:50:32 -0700
Subject: [PATCH] Log: Add entries for post status transition events
---
plugins/wporg-5ftf/includes/pledge-log.php | 23 ++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/plugins/wporg-5ftf/includes/pledge-log.php b/plugins/wporg-5ftf/includes/pledge-log.php
index 865ad63..352ff30 100644
--- a/plugins/wporg-5ftf/includes/pledge-log.php
+++ b/plugins/wporg-5ftf/includes/pledge-log.php
@@ -16,6 +16,7 @@ add_action( 'admin_init', __NAMESPACE__ . '\add_log_meta_box' );
add_action( 'save_post_' . Pledge\CPT_ID, __NAMESPACE__ . '\capture_save_post', 99, 3 );
add_action( 'updated_postmeta', __NAMESPACE__ . '\capture_updated_postmeta', 99, 4 );
add_action( 'added_post_meta', __NAMESPACE__ . '\capture_added_post_meta', 99, 4 );
+add_action( 'transition_post_status', __NAMESPACE__ . '\capture_transition_post_status', 99, 3 );
/**
* Adds a meta box for the log on the custom post type.
@@ -201,3 +202,25 @@ function capture_added_post_meta( $meta_id, $object_id, $meta_key, $meta_value )
break;
}
}
+
+
+function capture_transition_post_status( $new_status, $old_status, WP_Post $post ) {
+ if ( Pledge\CPT_ID !== get_post_type( $post ) ) {
+ return;
+ }
+
+ if ( $new_status === $old_status ) {
+ return;
+ }
+
+ add_log_entry(
+ $post->ID,
+ sprintf(
+ 'Pledge status changed from %1$s
to %2$s
.',
+ esc_html( $old_status ),
+ esc_html( $new_status )
+ ),
+ array(),
+ get_current_user_id()
+ );
+}