133 lines
4.8 KiB
PHP
133 lines
4.8 KiB
PHP
<?php
|
|
/**
|
|
* Routes registration - Auto-generated by build process.
|
|
* Registers all routes on their respective page init hooks.
|
|
* Do not edit this file manually.
|
|
*
|
|
* @package wp
|
|
*/
|
|
|
|
// Load routes registry
|
|
$routes_file = __DIR__ . '/routes/registry.php';
|
|
if ( ! file_exists( $routes_file ) ) {
|
|
return;
|
|
}
|
|
|
|
$routes = require $routes_file;
|
|
|
|
// Group routes by page and store in globals for page-specific functions
|
|
$routes_by_page = array();
|
|
foreach ( $routes as $route ) {
|
|
$page_slug = $route['page'];
|
|
if ( ! isset( $routes_by_page[ $page_slug ] ) ) {
|
|
$routes_by_page[ $page_slug ] = array();
|
|
}
|
|
$routes_by_page[ $page_slug ][] = $route;
|
|
}
|
|
|
|
// Store routes data in globals for each page
|
|
foreach ( $routes_by_page as $page_slug => $page_routes ) {
|
|
$page_slug_underscore = str_replace( '-', '_', $page_slug );
|
|
$global_name = 'wp_' . $page_slug_underscore . '_routes_data';
|
|
$GLOBALS[ $global_name ] = $page_routes;
|
|
}
|
|
|
|
/**
|
|
* Generic helper function to register routes for a page.
|
|
*
|
|
* @param array $page_routes Array of route data for the page.
|
|
* @param string $register_function_name Name of the function to call for registering each route.
|
|
*/
|
|
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 );
|
|
}
|
|
}
|
|
}
|
|
|
|
// Page-specific route registration functions
|
|
// Page-specific route registration functions for options-connectors
|
|
/**
|
|
* Register routes for options-connectors page (full-page mode).
|
|
*/
|
|
function wp_register_options_connectors_page_routes() {
|
|
global $wp_options_connectors_routes_data;
|
|
wp_register_page_routes( $wp_options_connectors_routes_data, 'wp_register_options_connectors_route' );
|
|
}
|
|
add_action( 'options-connectors_init', 'wp_register_options_connectors_page_routes' );
|
|
|
|
/**
|
|
* Register routes for options-connectors page (wp-admin mode).
|
|
*/
|
|
function wp_register_options_connectors_wp_admin_page_routes() {
|
|
global $wp_options_connectors_routes_data;
|
|
wp_register_page_routes( $wp_options_connectors_routes_data, 'wp_register_options_connectors_wp_admin_route' );
|
|
}
|
|
add_action( 'options-connectors-wp-admin_init', 'wp_register_options_connectors_wp_admin_page_routes' );
|
|
|
|
// Page-specific route registration functions for font-library
|
|
/**
|
|
* Register routes for font-library page (full-page mode).
|
|
*/
|
|
function wp_register_font_library_page_routes() {
|
|
global $wp_font_library_routes_data;
|
|
wp_register_page_routes( $wp_font_library_routes_data, 'wp_register_font_library_route' );
|
|
}
|
|
add_action( 'font-library_init', 'wp_register_font_library_page_routes' );
|
|
|
|
/**
|
|
* Register routes for font-library page (wp-admin mode).
|
|
*/
|
|
function wp_register_font_library_wp_admin_page_routes() {
|
|
global $wp_font_library_routes_data;
|
|
wp_register_page_routes( $wp_font_library_routes_data, 'wp_register_font_library_wp_admin_route' );
|
|
}
|
|
add_action( 'font-library-wp-admin_init', 'wp_register_font_library_wp_admin_page_routes' );
|
|
|