*
* @since MU
*
- * @param int $blog_id Blog ID
+ * @param int $blog_id Optional. Blog ID. Defaults to current blog.
*/
-function refresh_blog_details( $blog_id ) {
+function refresh_blog_details( $blog_id = 0 ) {
$blog_id = (int) $blog_id;
+ if ( ! $blog_id ) {
+ $blog_id = get_current_blog_id();
+ }
+
$details = get_blog_details( $blog_id, false );
if ( ! $details ) {
// Make sure clean_blog_cache() gets the blog ID
*/
function _update_blog_date_on_post_publish( $new_status, $old_status, $post ) {
$post_type_obj = get_post_type_object( $post->post_type );
- if ( ! $post_type_obj->public )
+ if ( ! $post_type_obj || ! $post_type_obj->public ) {
return;
+ }
- if ( 'publish' != $new_status && 'publish' != $old_status )
+ if ( 'publish' != $new_status && 'publish' != $old_status ) {
return;
+ }
// Post was freshly published, published post was saved, or published post was unpublished.
$post = get_post( $post_id );
$post_type_obj = get_post_type_object( $post->post_type );
- if ( ! $post_type_obj->public )
+ if ( ! $post_type_obj || ! $post_type_obj->public ) {
return;
+ }
- if ( 'publish' != $post->post_status )
+ if ( 'publish' != $post->post_status ) {
return;
+ }
wpmu_update_blogs_date();
}
+/**
+ * Handler for updating the blog posts count date when a post is deleted.
+ *
+ * @since 4.0.0
+ *
+ * @param int $post_id Post ID.
+ */
+function _update_posts_count_on_delete( $post_id ) {
+ $post = get_post( $post_id );
+
+ if ( ! $post || 'publish' !== $post->post_status ) {
+ return;
+ }
+
+ update_posts_count();
+}
+
+/**
+ * Handler for updating the blog posts count date when a post status changes.
+ *
+ * @since 4.0.0
+ *
+ * @param string $new_status The status the post is changing to.
+ * @param string $old_status The status the post is changing from.
+ */
+function _update_posts_count_on_transition_post_status( $new_status, $old_status ) {
+ if ( $new_status === $old_status ) {
+ return;
+ }
+
+ if ( 'publish' !== $new_status && 'publish' !== $old_status ) {
+ return;
+ }
+
+ update_posts_count();
+}
+