Ticket #2057: a-separate-cache.diff
| File a-separate-cache.diff, 1.8 KB (added by , 21 years ago) |
|---|
-
wp-includes/functions.php
559 559 else 560 560 $_post = null; 561 561 } elseif ( is_object($post) ) { 562 if ( 'static' == $post->post_status ) 563 return get_page($post, $output); 562 564 if ( !isset($post_cache[$post->ID]) ) 563 565 $post_cache[$post->ID] = &$post; 564 566 $_post = & $post_cache[$post->ID]; 565 567 } else { 566 if ( isset($post_cache[$post]) ) 568 if ( $_post = wp_cache_get($post, 'pages') ) 569 return get_page($_post, $output); 570 elseif ( isset($post_cache[$post]) ) 567 571 $_post = & $post_cache[$post]; 568 572 else { 569 573 $query = "SELECT * FROM $wpdb->posts WHERE ID = '$post' LIMIT 1"; 570 $post_cache[$post] = & $wpdb->get_row($query); 571 $_post = & $post_cache[$post]; 574 $_post = & $wpdb->get_row($query); 575 if ( 'static' == $_post->post_status ) 576 return get_page($_post, $output); 577 $post_cache[$post] = & $_post; 572 578 } 573 579 } 574 580 … … 610 616 $_page = null; 611 617 } 612 618 } elseif ( is_object($page) ) { 619 if ( 'static' != $page->post_status ) 620 return get_post($page, $output); 613 621 wp_cache_add($page->ID, $page, 'pages'); 614 622 $_page = $page; 615 623 } else { 616 624 if ( isset($GLOBALS['page']) && ($page == $GLOBALS['page']->ID) ) { 617 625 $_page = & $GLOBALS['page']; 618 626 wp_cache_add($_page->ID, $_page, 'pages'); 627 } elseif ( $_page = $GLOBALS['post_cache'][$page] ) { 628 return get_post($page, $output); 619 629 } elseif ( $_page = wp_cache_get($page, 'pages') ) { 620 630 // Got it. 621 631 } else { 622 632 $query = "SELECT * FROM $wpdb->posts WHERE ID= '$page' LIMIT 1"; 623 633 $_page = & $wpdb->get_row($query); 634 if ( 'static' != $_page->post_status ) 635 return get_post($_page, $output); 624 636 wp_cache_add($_page->ID, $_page, 'pages'); 625 637 } 626 638 }
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)