예제 #1
0
            throw new Exception('CJTView::useStyles method must has at least on script parameter passed!');
        }
        // Script name Reg Exp pattern.
        $nameExp = '/\\:?(\\{((\\w+)-)\\})?([\\w\\-\\.]+)$/';
        // For every script, Enqueue and localize, only if localization file found/exists.
        foreach ($styles as $style) {
            // Get script name.
            preg_match($nameExp, $style, $styleObject);
            // [[2]Prefix], [4] name. Prefix may be not presented.
            $name = "{$styleObject[2]}{$styleObject[4]}";
            if (!isset($GLOBALS['wp_styles']->registered[$name])) {
                // Make all enqueued styles names unique from enqueued scripts.
                // This is useful when merging styles & scripts is required.
                $name = "CSS-{$name}";
                // Any JS lib file should named the same as the parent folder with the extension added.
                $libPath = ":{$styleObject[4]}";
                // Get css file URI.
                $cssFile = cssJSToolbox::getURI(preg_replace($nameExp, "{$libPath}.css", $style));
                // Register + Enqueue style.
                wp_enqueue_style($name, $cssFile);
            } else {
                // Enqueue already registered styles.
                wp_enqueue_style($name);
            }
        }
    }
}
// End class.
// Initialize CJTView Event!
CJTView::define('CJTView', array('hookType' => CJTWordpressEvents::HOOK_FILTER));