/** * ブロッククラスのオートロード * * 擬似名前空間として "BCE_" のプレフィックスを持つものに関してのみ、ファイルが存在する場合には読み込む * * @return void */ public function bce_autoloader($class_name) { if (strpos('BCE_', $class_name) >= 0) { $class_name = str_replace('BCE_', '', $class_name); $themeclassesdir = get_template_directory() . DIRECTORY_SEPARATOR . 'blocks' . DIRECTORY_SEPARATOR . lcfirst($class_name) . DIRECTORY_SEPARATOR; $classbasedir = BCE_Utilis::get_base_dir() . '/blocks'; $classes_dir = $classbasedir . DIRECTORY_SEPARATOR . lcfirst($class_name) . DIRECTORY_SEPARATOR; $class_file = str_replace('_', DIRECTORY_SEPARATOR, lcfirst($class_name)) . '.php'; if (file_exists($themeclassesdir . $class_file)) { require_once $themeclassesdir . $class_file; } else { if (file_exists($classes_dir . $class_file)) { require_once $classes_dir . $class_file; } } } }