# wp_register_page_routes()

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

Тип: функция.

## Сигнатура

```php
wp_register_page_routes( array $page_routes, string $register_function_name )
```

## Описание

Универсальная вспомогательная функция для регистрации маршрутов страницы.

## Параметры

- `$page_routes` `array` — обязательный. Массив данных маршрутов для страницы.
- `$register_function_name` `string` — обязательный. Имя функции, вызываемой для регистрации каждого маршрута.

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

Файл: `wp-includes/build/routes.php:41`

```php
function wp_register_page_routes( $page_routes, $register_function_name ) {
	// Load build constants
	$build_constants = require __DIR__ . '/constants.php';

	foreach ( $page_routes as $route ) {
		$content_handle = null;
		$route_handle = null;

		// Register content module if exists
		if ( $route['has_content'] ) {
			$content_asset_path = __DIR__ . "/routes/{$route['name']}/content.min.asset.php";
			if ( file_exists( $content_asset_path ) ) {
				$content_asset = require $content_asset_path;
				$content_handle = 'wp/routes/' . $route['name'] . '/content';
				$extension = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '.js' : '.min.js';
				// Deregister first to override any previously registered version
				// (e.g., Core's default modules when running as a plugin).
				wp_deregister_script_module( $content_handle );
				wp_register_script_module(
					$content_handle,
					$build_constants['build_url'] . 'routes/' . $route['name'] . '/content' . $extension,
					$content_asset['module_dependencies'] ?? array(),
					$content_asset['version'] ?? false
				);
			}
		}

		// Register route module if exists
		if ( $route['has_route'] ) {
			$route_asset_path = __DIR__ . "/routes/{$route['name']}/route.min.asset.php";
			if ( file_exists( $route_asset_path ) ) {
				$route_asset = require $route_asset_path;
				$route_handle = 'wp/routes/' . $route['name'] . '/route';
				$extension = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '.js' : '.min.js';
				// Deregister first to override any previously registered version
				// (e.g., Core's default modules when running as a plugin).
				wp_deregister_script_module( $route_handle );
				wp_register_script_module(
					$route_handle,
					$build_constants['build_url'] . 'routes/' . $route['name'] . '/route' . $extension,
					$route_asset['module_dependencies'] ?? array(),
					$route_asset['version'] ?? false
				);
			}
		}

		// Register route with page
		if ( function_exists( $register_function_name ) ) {
			call_user_func( $register_function_name, $route['path'], $content_handle, $route_handle );
		}
	}
}
```

## Связанные

Использует: [`wp_deregister_script_module`](https://chugunov.pro/api-wordpress/functions/wp_deregister_script_module/), [`wp_register_script_module`](https://chugunov.pro/api-wordpress/functions/wp_register_script_module/).
Используется в: [`wp_register_options_connectors_page_routes`](https://chugunov.pro/api-wordpress/functions/wp_register_options_connectors_page_routes/), [`wp_register_options_connectors_wp_admin_page_routes`](https://chugunov.pro/api-wordpress/functions/wp_register_options_connectors_wp_admin_page_routes/), [`wp_register_font_library_page_routes`](https://chugunov.pro/api-wordpress/functions/wp_register_font_library_page_routes/), [`wp_register_font_library_wp_admin_page_routes`](https://chugunov.pro/api-wordpress/functions/wp_register_font_library_wp_admin_page_routes/).

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