示例#1
0
 /**
  * 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']);
     }
 }