wpseek.com
A WordPress-centric search engine for devs and theme authors
_find_post_by_old_slug is private and should not be used in themes or plugins directly.
_find_post_by_old_slug › WordPress Function
Since4.9.3
Deprecatedn/a
› _find_post_by_old_slug ( $post_type )
Access: |
|
Parameters: |
|
See: | |
Returns: |
|
Defined at: |
|
Codex: |
Find the post ID for redirecting an old slug.
Related Functions: _find_post_by_old_date, _truncate_post_slug, wp_unique_post_slug, get_posts_by_author_sql, find_posts_div
Source
function _find_post_by_old_slug( $post_type ) { global $wpdb; $query = $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta, $wpdb->posts WHERE ID = post_id AND post_type = %s AND meta_key = '_wp_old_slug' AND meta_value = %s", $post_type, get_query_var( 'name' ) ); /* * If year, monthnum, or day have been specified, make our query more precise * just in case there are multiple identical _wp_old_slug values. */ if ( get_query_var( 'year' ) ) { $query .= $wpdb->prepare( ' AND YEAR(post_date) = %d', get_query_var( 'year' ) ); } if ( get_query_var( 'monthnum' ) ) { $query .= $wpdb->prepare( ' AND MONTH(post_date) = %d', get_query_var( 'monthnum' ) ); } if ( get_query_var( 'day' ) ) { $query .= $wpdb->prepare( ' AND DAYOFMONTH(post_date) = %d', get_query_var( 'day' ) ); } $key = md5( $query ); $last_changed = wp_cache_get_last_changed( 'posts' ); $cache_key = "find_post_by_old_slug:$key:$last_changed"; $cache = wp_cache_get( $cache_key, 'post-queries' ); if ( false !== $cache ) { $id = $cache; } else { $id = (int) $wpdb->get_var( $query ); wp_cache_set( $cache_key, $id, 'post-queries' ); } return $id; }