* Search a file in registered paths. * * @param string $file Relative file path to search for. * * @return string */ public static function get_path($file) { // Generate alternative file name $slave = str_replace('_', '-', $file); // Filter paths to search for file self::$paths = apply_filters('wr_pb_loader_get_path', self::$paths); foreach (array_reverse(self::$paths) as $base => $prefixes) { if (@is_file($base . '/' . $slave)) { return $base . '/' . $slave; } elseif (@is_file($base . '/' . $file)) { return $base . '/' . $file; } } return null; } } // Register class autoloader with PHP spl_autoload_register(array('WR_Pb_Loader', 'load')); // Register base path to look for class file WR_Pb_Loader::register(dirname(__FILE__), 'WR_'); // Include plugin definition file if (@is_file(dirname(dirname(__FILE__)) . '/defines.php')) { include_once dirname(dirname(__FILE__)) . '/defines.php'; } }
/** * Autoload shortcodes & sub shortcodes * * @param string $path */ public static function autoload_shortcodes($path) { $items = substr_count($path, '/item'); $postfix = str_repeat('Item_', $items); // autoload shortcodes WR_Pb_Loader::register($path, 'WR_' . $postfix); }
/** * Register autoloader. * * @return void */ function autoload() { WR_Pb_Loader::register(WR_PB_PATH . 'core', 'WR_Pb_'); WR_Pb_Loader::register(WR_PB_PATH . 'core/gadget', 'WR_Gadget_'); // Allow autoload registration from outside do_action('wr_pb_autoload'); }
/** * Register Path to extended Parameter type * * @param string $path */ public function register_extended_parameter_path($path) { WR_Pb_Loader::register($path, 'WR_Pb_Helper_Html_'); }