WordPress.org

Make WordPress Core

Ticket #12016: bmb_0005_t12016.patch

File bmb_0005_t12016.patch, 1.1 KB (added by bumbu, 5 years ago)
  • wp-includes/general-template.php

     
    10681068        if ( !is_array($cache) ) 
    10691069                $cache = array(); 
    10701070 
    1071         // Quick check. If we have no posts at all, abort! 
    1072         if ( !$posts ) { 
     1071        // Quick check if at least one element in $posts is published post 
     1072        if ( $posts ) { 
     1073                $flag=false; 
     1074                foreach($posts as $post){ 
     1075                        if($post->post_type == 'post' && $post->post_status == 'publish'){ 
     1076                                $flag = true; 
     1077                                break; 
     1078                        } 
     1079                } 
     1080                //If we still don't know if we have or no published posts 
     1081                if(!$flag){ 
     1082                        $gotsome = $wpdb->get_var("SELECT 1 as test FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' LIMIT 1"); 
     1083                        if ( !$gotsome ) { 
     1084                                $cache[ $key ] = ''; 
     1085                                wp_cache_set( 'get_calendar', $cache, 'calendar' ); 
     1086                                return; 
     1087                        } 
     1088                } 
     1089        // If we have no posts at all, abort! 
     1090        } else { 
    10731091                $gotsome = $wpdb->get_var("SELECT 1 as test FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' LIMIT 1"); 
    10741092                if ( !$gotsome ) { 
    10751093                        $cache[ $key ] = '';