X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/4713a14935b83517997f3c88f808eb41da55033d..48ab98cb1779cf2088c1351ac3dd3d0da6fb31d3:/wp-includes/ms-blogs.php?ds=sidebyside 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(); +} +