Query: Cache the result when `get_pages()` doesn't find anything in the database.
Props flixos90, soulseekah. Fixes #43514. Built from https://develop.svn.wordpress.org/trunk@44587 git-svn-id: http://core.svn.wordpress.org/trunk@44418 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
56e77d8928
commit
d2695fe283
|
@ -5057,7 +5057,8 @@ function get_pages( $args = array() ) {
|
|||
$last_changed = wp_cache_get_last_changed( 'posts' );
|
||||
|
||||
$cache_key = "get_pages:$key:$last_changed";
|
||||
if ( $cache = wp_cache_get( $cache_key, 'posts' ) ) {
|
||||
$cache = wp_cache_get( $cache_key, 'posts' );
|
||||
if ( false !== $cache ) {
|
||||
// Convert to WP_Post instances.
|
||||
$pages = array_map( 'get_post', $cache );
|
||||
/** This filter is documented in wp-includes/post.php */
|
||||
|
@ -5218,6 +5219,8 @@ function get_pages( $args = array() ) {
|
|||
$pages = $wpdb->get_results( $query );
|
||||
|
||||
if ( empty( $pages ) ) {
|
||||
wp_cache_set( $cache_key, array(), 'posts' );
|
||||
|
||||
/** This filter is documented in wp-includes/post.php */
|
||||
$pages = apply_filters( 'get_pages', array(), $r );
|
||||
return $pages;
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '5.1-beta1-44586';
|
||||
$wp_version = '5.1-beta1-44587';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
|
Loading…
Reference in New Issue