diff --git a/packages/wp-build/lib/build.mjs b/packages/wp-build/lib/build.mjs index 96005adb2234a0..39e746630bec46 100755 --- a/packages/wp-build/lib/build.mjs +++ b/packages/wp-build/lib/build.mjs @@ -1241,11 +1241,19 @@ async function generatePagesPhp( pageData, replacements ) { await Promise.all( pageGenerationPromises ); // Generate pages.php loader - const pageIncludes = pageData - .map( ( page ) => { - return `require_once __DIR__ . '/pages/${ page.slug }/page.php';\nrequire_once __DIR__ . '/pages/${ page.slug }/page-wp-admin.php';`; - } ) - .join( '\n' ); + const pageFiles = pageData.flatMap( ( page ) => [ + `\t__DIR__ . '/pages/${ page.slug }/page.php'`, + `\t__DIR__ . '/pages/${ page.slug }/page-wp-admin.php'`, + ] ); + const pageIncludes = [ + 'foreach ( [', + pageFiles.join( ',\n' ) + ',', + '] as $file ) {', + '\tif ( file_exists( $file ) ) {', + '\t\trequire_once $file;', + '\t}', + '}', + ].join( '\n' ); await generatePhpFromTemplate( 'pages.php.template', diff --git a/packages/wp-build/templates/module-registration.php.template b/packages/wp-build/templates/module-registration.php.template index d2c87122737ebe..49ca9ab3330263 100644 --- a/packages/wp-build/templates/module-registration.php.template +++ b/packages/wp-build/templates/module-registration.php.template @@ -21,7 +21,11 @@ function {{PREFIX}}_register_script_modules() { $already_registered = true; // Load build constants - $build_constants = require __DIR__ . '/constants.php'; + $constants_file = __DIR__ . '/constants.php'; + if ( ! file_exists( $constants_file ) ) { + return; + } + $build_constants = require $constants_file; $modules_dir = __DIR__ . '/modules'; $modules_file = $modules_dir . '/registry.php';