# wp_get_canonical_url()

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

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

## Сигнатура

```php
wp_get_canonical_url( int|WP_Post $post = null ): string|false
```

## Описание

Если запись совпадает с текущей запрошенной страницей, функция также обработает аргументы постраничной навигации.

## Параметры

- `$post` `int|WP_Post` — необязательный, по умолчанию `null`. ID или объект записи. Значение по умолчанию — глобальный $post.

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

`string|false`

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

Файл: `wp-includes/link-template.php:4068`

```php
function wp_get_canonical_url( $post = null ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return false;
	}

	if ( 'publish' !== get_post_status( $post ) ) {
		return false;
	}

	$canonical_url = get_permalink( $post );

	// If a canonical is being generated for the current page, make sure it has pagination if needed.
	if ( get_queried_object_id() === $post->ID ) {
		$page = get_query_var( 'page', 0 );
		if ( $page >= 2 ) {
			if ( ! get_option( 'permalink_structure' ) ) {
				$canonical_url = add_query_arg( 'page', $page, $canonical_url );
			} else {
				$canonical_url = trailingslashit( $canonical_url ) . user_trailingslashit( $page, 'single_paged' );
			}
		}

		$cpage = get_query_var( 'cpage', 0 );
		if ( $cpage ) {
			$canonical_url = get_comments_pagenum_link( $cpage );
		}
	}

	/**
	 * Filters the canonical URL for a post.
	 *
	 * @since 4.6.0
	 *
	 * @param string  $canonical_url The post's canonical URL.
	 * @param WP_Post $post          Post object.
	 */
	return apply_filters( 'get_canonical_url', $canonical_url, $post );
}
```

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

- 4.6.0 — Introduced.

## Связанные

Использует: [`get_queried_object_id`](https://chugunov.pro/api-wordpress/functions/get_queried_object_id/), [`get_query_var`](https://chugunov.pro/api-wordpress/functions/get_query_var/), `WP_Query`, [`get_comments_pagenum_link`](https://chugunov.pro/api-wordpress/functions/get_comments_pagenum_link/), [`user_trailingslashit`](https://chugunov.pro/api-wordpress/functions/user_trailingslashit/), [`get_post_status`](https://chugunov.pro/api-wordpress/functions/get_post_status/), [`trailingslashit`](https://chugunov.pro/api-wordpress/functions/trailingslashit/), [`add_query_arg`](https://chugunov.pro/api-wordpress/functions/add_query_arg/), [`get_permalink`](https://chugunov.pro/api-wordpress/functions/get_permalink/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/), [`get_option`](https://chugunov.pro/api-wordpress/functions/get_option/), [`get_post`](https://chugunov.pro/api-wordpress/functions/get_post/).
Используется в: [`rel_canonical`](https://chugunov.pro/api-wordpress/functions/rel_canonical/).

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