前几天在建英文站的时候遇到 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 就不会再提示警告信息了。
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!