我正在尝试开发一个Wordpress主题,并弄清楚如果CDN失败或我在没有互联网连接的本地服务器上开发我的主题,如何为Font Awesome提供本地回退。
我想到的解决方案是这样的(伪代码):
if ( $CDN_IS_AVAILABLE ) {
wp_enqueue_style( 'font-awesome', '//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css', false );
} else {
wp_enqueue_style('font-awesome', get_template_directory_uri() . '/css/font-awesome/css/font-awesome.min.css', false, '4.0.3' );
}
感谢。
答案 0 :(得分:4)
这个怎么样?
<?php
$test_url = @fopen('https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css','r');
if ( $test_url !== false ) {
// Use CDN
function load_external() {
wp_enqueue_style( 'font-awesome', '//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css', false );
}
add_action( 'wp_enqueue_scripts', 'load_external' );
} else {
// Use local if url is not available
function load_local() {
wp_enqueue_style('font-awesome', get_template_directory_uri() . '/css/font-awesome/css/font-awesome.min.css', false, '4.0.3' );
}
add_action( 'wp_enqueue_scripts', 'load_local' );
}
?>
除此之外,您还可以在函数中添加wp_enqueue_script以对JS执行相同的操作。