前几天在建英文站的时候遇到 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 就不会再提示警告信息了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注