WordPress开发者和主题制作者的搜索引擎



_find_post_by_old_slug ›

Since4.9.2
已弃用n/a
_find_post_by_old_slug ( $post_type )
访问:
  • private
参数:
  • (string) $post_type The current post type based on the query vars.
    Required: Yes
查看:
返回:
  • (int) $id The Post ID.
定义在:
文档:

Find the post ID for redirecting an old slug.



源码

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' ) );
	}

	$id = (int) $wpdb->get_var( $query );

	return $id;
}