# _find_post_by_old_slug()

URL: https://chugunov.pro/api-wordpress/functions/_find_post_by_old_slug/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 4.9.3.

## Сигнатура

```php
_find_post_by_old_slug( string $post_type ): int
```

## Описание

См. alsowp_old_slug_redirect()

## Параметры

- `$post_type` `string` — обязательный. Текущий тип записи на основе переменных запроса.

## Возвращаемое значение

`int`

## Исходный код

Файл: `wp-includes/query.php:1137`

```php
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";
	$cache        = wp_cache_get_salted( $cache_key, 'post-queries', $last_changed );
	if ( false !== $cache ) {
		$id = $cache;
	} else {
		$id = (int) $wpdb->get_var( $query );
		wp_cache_set_salted( $cache_key, $id, 'post-queries', $last_changed );
	}

	return $id;
}
```

## История изменений

- 4.9.3 — Introduced.

## Связанные

Использует: [`wp_cache_get_salted`](https://chugunov.pro/api-wordpress/functions/wp_cache_get_salted/), [`wp_cache_set_salted`](https://chugunov.pro/api-wordpress/functions/wp_cache_set_salted/), [`wp_cache_get_last_changed`](https://chugunov.pro/api-wordpress/functions/wp_cache_get_last_changed/), [`get_query_var`](https://chugunov.pro/api-wordpress/functions/get_query_var/), `WP_Query`, `wpdb::get_var`, `wpdb::prepare`.
Используется в: [`wp_old_slug_redirect`](https://chugunov.pro/api-wordpress/functions/wp_old_slug_redirect/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/_find_post_by_old_slug/
