mirror of
https://github.com/WordPress/WordPress.git
synced 2024-12-23 01:27:36 +01:00
Improve performance of query in get_adjacent_post(). Get the ID and then call get_post(). Props apokalyptik, nacin, javert03. fixes #18120
git-svn-id: http://core.svn.wordpress.org/trunk@21919 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
71fea496e8
commit
ce9a613cb6
@ -1166,23 +1166,23 @@ function get_adjacent_post( $in_same_cat = false, $excluded_categories = '', $pr
|
||||
$where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare("WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $posts_in_ex_cats_sql", $current_post_date, $post->post_type), $in_same_cat, $excluded_categories );
|
||||
$sort = apply_filters( "get_{$adjacent}_post_sort", "ORDER BY p.post_date $order LIMIT 1" );
|
||||
|
||||
$query = "SELECT p.* FROM $wpdb->posts AS p $join $where $sort";
|
||||
$query = "SELECT p.id FROM $wpdb->posts AS p $join $where $sort";
|
||||
$query_key = 'adjacent_post_' . md5($query);
|
||||
$result = wp_cache_get($query_key, 'counts');
|
||||
if ( false !== $result ) {
|
||||
if ( is_object( $result ) )
|
||||
$result = new WP_Post( $result );
|
||||
if ( $result )
|
||||
$result = get_post( $result );
|
||||
return $result;
|
||||
}
|
||||
|
||||
$result = $wpdb->get_row("SELECT p.* FROM $wpdb->posts AS p $join $where $sort");
|
||||
$result = $wpdb->get_var( $query );
|
||||
if ( null === $result )
|
||||
$result = '';
|
||||
|
||||
wp_cache_set($query_key, $result, 'counts');
|
||||
|
||||
if ( is_object( $result ) )
|
||||
$result = new WP_Post( $result );
|
||||
if ( $result )
|
||||
$result = get_post( $result );
|
||||
|
||||
return $result;
|
||||
}
|
||||
@ -2057,7 +2057,7 @@ function plugins_url($path = '', $plugin = '') {
|
||||
else
|
||||
$url = WP_PLUGIN_URL;
|
||||
|
||||
|
||||
|
||||
$url = set_url_scheme( $url );
|
||||
|
||||
if ( !empty($plugin) && is_string($plugin) ) {
|
||||
|
Loading…
Reference in New Issue
Block a user