/** * Register assets with WordPress. * * @return void */ protected static function register() { // Filter assets to be registered self::$assets = apply_filters('wr_mm_register_assets', self::$assets); foreach (self::$assets as $key => $value) { // If asset is registered, continue the loop if (in_array($key, self::$registered)) { continue; } // Store asset being registered self::$registered[] = $key; // Set default value for missing data isset($value['deps']) || ($value['deps'] = array()); isset($value['ver']) || ($value['ver'] = null); // Detect asset type $type = substr($key, -4) == '-css' ? 'style' : 'script'; // Shorten asset and dependency keys $key = preg_replace('/-(css|js)$/', '', $key); foreach ($value['deps'] as $k => $v) { if (array_key_exists($v, self::$assets)) { $value['deps'][$k] = preg_replace('/-(css|js)$/', '', $v); } } // Register asset call_user_func("wp_register_{$type}", $key, $value['src'], $value['deps'], $value['ver']); } }