# get_pagenum_link()

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

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

## Сигнатура

```php
get_pagenum_link( int $pagenum = 1, bool $escape = true ): string
```

## Описание

Извлекает ссылку для номера страницы.

## Параметры

- `$pagenum` `int` — необязательный, по умолчанию `1`. Номер страницы.
- `$escape` `bool` — необязательный, по умолчанию `true`. Экранировать ли URL для отображения с помощью esc_url() .
  
  Если false, URL подготавливается с помощью sanitize_url() .

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

`string`

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

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

```php
function get_pagenum_link( $pagenum = 1, $escape = true ) {
	global $wp_rewrite;

	$pagenum = (int) $pagenum;

	$request = remove_query_arg( 'paged' );

	$home_root = parse_url( home_url() );
	$home_root = $home_root['path'] ?? '';
	$home_root = preg_quote( $home_root, '|' );

	$request = preg_replace( '|^' . $home_root . '|i', '', $request );
	$request = preg_replace( '|^/+|', '', $request );

	if ( ! $wp_rewrite->using_permalinks() || is_admin() ) {
		$base = trailingslashit( get_bloginfo( 'url' ) );

		if ( $pagenum > 1 ) {
			$result = add_query_arg( 'paged', $pagenum, $base . $request );
		} else {
			$result = $base . $request;
		}
	} else {
		$qs_regex = '|\?.*?$|';
		preg_match( $qs_regex, $request, $qs_match );

		$parts   = array();
		$parts[] = untrailingslashit( get_bloginfo( 'url' ) );

		if ( ! empty( $qs_match[0] ) ) {
			$query_string = $qs_match[0];
			$request      = preg_replace( $qs_regex, '', $request );
		} else {
			$query_string = '';
		}

		$request = preg_replace( "|$wp_rewrite->pagination_base/\d+/?$|", '', $request );
		$request = preg_replace( '|^' . preg_quote( $wp_rewrite->index, '|' ) . '|i', '', $request );
		$request = ltrim( $request, '/' );

		if ( $wp_rewrite->using_index_permalinks() && ( $pagenum > 1 || '' !== $request ) ) {
			$parts[] = $wp_rewrite->index;
		}

		$parts[] = untrailingslashit( $request );

		if ( $pagenum > 1 ) {
			$parts[] = $wp_rewrite->pagination_base;
			$parts[] = $pagenum;
		}

		$result = user_trailingslashit( implode( '/', array_filter( $parts ) ), 'paged' );
		if ( ! empty( $query_string ) ) {
			$result .= $query_string;
		}
	}

	/**
	 * Filters the page number link for the current request.
	 *
	 * @since 2.5.0
	 * @since 5.2.0 Added the `$pagenum` argument.
	 *
	 * @param string $result  The page number link.
	 * @param int    $pagenum The page number.
	 */
	$result = apply_filters( 'get_pagenum_link', $result, $pagenum );

	if ( $escape ) {
		return esc_url( $result );
	} else {
		return sanitize_url( $result );
	}
}
```

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

- 1.5.0 — Introduced.

## Связанные

Использует: [`untrailingslashit`](https://chugunov.pro/api-wordpress/functions/untrailingslashit/), [`remove_query_arg`](https://chugunov.pro/api-wordpress/functions/remove_query_arg/), [`user_trailingslashit`](https://chugunov.pro/api-wordpress/functions/user_trailingslashit/), `WP_Rewrite::using_index_permalinks`, `WP_Rewrite::using_permalinks`, [`esc_url`](https://chugunov.pro/api-wordpress/functions/esc_url/), [`trailingslashit`](https://chugunov.pro/api-wordpress/functions/trailingslashit/), [`get_bloginfo`](https://chugunov.pro/api-wordpress/functions/get_bloginfo/), [`sanitize_url`](https://chugunov.pro/api-wordpress/functions/sanitize_url/), [`is_admin`](https://chugunov.pro/api-wordpress/functions/is_admin/), [`add_query_arg`](https://chugunov.pro/api-wordpress/functions/add_query_arg/), [`home_url`](https://chugunov.pro/api-wordpress/functions/home_url/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/).
Используется в: [`paginate_links`](https://chugunov.pro/api-wordpress/functions/paginate_links/), [`get_next_posts_page_link`](https://chugunov.pro/api-wordpress/functions/get_next_posts_page_link/), [`get_previous_posts_page_link`](https://chugunov.pro/api-wordpress/functions/get_previous_posts_page_link/).

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