前几天在建英文站的时候遇到 WordPress 报告了一个警告,load_scripts 报告的,具体记不住了。引起这个警告的原因是主题或插件未使用官方推荐的方式加载 js 与 css,比如直接在 wp_head 与 wp_footer 中输出 js 与 css 地址。正确的加载方式如下,取自 DUX 主题。
- add_action('wp_enqueue_scripts', '_load_scripts');
- function _load_scripts() {
- if (!is_admin()) {
- $purl = get_stylesheet_directory_uri();
- // common css
- _cssloader(array( 'app' => 'app'));
- _jsloader(array('loader'=>'loader'));
- }
- }
- function _cssloader($arr) {
- foreach ($arr as $key => $item) {
- $href = $item;
- if (strstr($href, '//') === false) {
- $href = get_stylesheet_directory_uri() . '/css/' . $item . '.css';
- }
- wp_enqueue_style('_' . $key, $href, array(), THEME_VERSION, 'all');
- }
- }
- function _jsloader($arr) {
- foreach ($arr as $item) {
- wp_enqueue_script('_' . $item, get_stylesheet_directory_uri() . '/js/' . $item . '.js', array(), THEME_VERSION, true);
- }
- }
通过 _cssloader 函数加载 css,需提供以 css 文件名为键值的数组, _jsloader 函数加载 js,使用方法与 _cssloader 相同。最后通过 wp_enqueue_scripts 钩子挂载函数进行加载,通过这种方式加载 js 与 css,wordpress 就不会再提示警告信息了。
- 1、本站大部分内容均收集于网络,若内容侵犯到您的权益,请发送邮件至:service@wuyanshuo.cn,我们将第一时间处理!
- 2、本站资源所需价格并非资源售卖价格,是收集、整理、编辑以及本站运营的适当补贴,并且本站不提供任何免费技术服务。
- 3、所有资源仅限参考和学习,版权归原作者所有,更多请阅读无言说网络服务器协议。