| 1 |
<?php |
| 2 |
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals -- Shared framework bootstrap keeps legacy cpo_* identifiers. |
| 3 |
/** |
| 4 |
* Framework bootstrap — registers a lightweight autoloader for the |
| 5 |
* CoolPlugins\Onboarding namespace. No Composer required. |
| 6 |
* |
| 7 |
* @package CoolPlugins\Onboarding |
| 8 |
*/ |
| 9 |
|
| 10 |
if ( ! defined( 'ABSPATH' ) ) { |
| 11 |
exit; |
| 12 |
} |
| 13 |
|
| 14 |
if ( ! defined( 'CPO_ONBOARDING_DIR' ) ) { |
| 15 |
define( 'CPO_ONBOARDING_DIR', __DIR__ ); |
| 16 |
} |
| 17 |
|
| 18 |
spl_autoload_register( |
| 19 |
static function ( $class ) { |
| 20 |
$prefix = 'CoolPlugins\\Onboarding\\'; |
| 21 |
$len = strlen( $prefix ); |
| 22 |
|
| 23 |
if ( 0 !== strncmp( $prefix, $class, $len ) ) { |
| 24 |
return; |
| 25 |
} |
| 26 |
|
| 27 |
// CoolPlugins\Onboarding\Demo_Generator -> src/class-demo-generator.php |
| 28 |
$relative = substr( $class, $len ); |
| 29 |
$relative = strtolower( str_replace( '_', '-', $relative ) ); |
| 30 |
$file = CPO_ONBOARDING_DIR . '/src/class-' . $relative . '.php'; |
| 31 |
|
| 32 |
if ( is_readable( $file ) ) { |
| 33 |
require_once $file; |
| 34 |
} |
| 35 |
} |
| 36 |
); |
| 37 |
|