X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/0461a5f2e55c8d5f1fde96ca2e83117152573c7d..9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f:/wp-includes/ms-blogs.php diff --git a/wp-includes/ms-blogs.php b/wp-includes/ms-blogs.php index 16a49181..e7016565 100644 --- a/wp-includes/ms-blogs.php +++ b/wp-includes/ms-blogs.php @@ -235,10 +235,14 @@ function get_blog_details( $fields = null, $get_all = true ) { * * @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 @@ -861,11 +865,13 @@ function get_last_updated( $deprecated = '', $start = 0, $quantity = 40 ) { */ 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. @@ -883,12 +889,51 @@ function _update_blog_date_on_post_delete( $post_id ) { $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(); +} +