如果我在我的WordPress父主题(使用Bootstrap构建)中使用CDN,会有什么问题?

时间:2016-08-03 作者:Mahade Walid

“当我跑步时”;主题检查“,建议不要使用CDN。我以这种方式使用引导CDN

function underscore_bootstrap_wp_scripts() {

/*   bootstrap and font awesome and animate css  */
wp_enqueue_style( \'bootstrap_cdn\', \'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\' );
wp_enqueue_style( \'fontawesome_cdn\', \'https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css\' );

/*   default underscores styles  */
wp_enqueue_style( \'underscore_bootstrap_wp-style\', get_stylesheet_uri() );

/*  bootstrap js  */
wp_enqueue_script(\'bootstrap_js_cdn\', \'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\',array(\'jquery\'),\'\',true);

/*   default underscores js  */
//wp_enqueue_script( \'underscore_bootstrap_wp-navigation\', get_template_directory_uri() . \'/js/navigation.js\', array(), \'20151215\', true );
wp_enqueue_script( \'underscore_bootstrap_wp-skip-link-focus-fix\', get_template_directory_uri() . \'/js/skip-link-focus-fix.js\', array(), \'20151215\', true );

/* my stylesheet and js */
wp_enqueue_style( \'custom_style_css\', get_template_directory_uri(). \'/css/main.css\' );
wp_enqueue_script(\'custom_js\', get_template_directory_uri(). \'/js/main.js\',array(\'jquery\',\'bootstrap_js_cdn\'),\'\',true);

if ( is_singular() && comments_open() && get_option( \'thread_comments\' ) ) {
    wp_enqueue_script( \'comment-reply\' );
  }
}
“The”;主题检查“;插件显示-

建议:在代码maxcdn中找到CDN的URL。bootstrapcdn。com/font真棒。您不应该从CDN加载CSS或Javascript资源,请将它们与主题捆绑在一起。

建议:在代码maxcdn中找到CDN的URL。bootstrapcdn。com/引导程序。您不应该从CDN加载CSS或Javascript资源,请将它们与主题捆绑在一起。

2 个回复
最合适的回答,由SO网友:daniyalahmad 整理而成

主题不应依赖于任何外部链接库。无法保证那个图书馆什么时候能被拆除。这就是为什么你的所有主题资产都应该与主题一起打包,以防止未来的风险。

SO网友:Brian Jackson

正如daniyalahmad所说,最好不要在主题中包含指向外部资产的链接。这是最近的一个很好的例子。我使用MyThemeShop的一个主题,它们链接到外部html5shim。谷歌最近刚刚停止了这项服务,所以我开始在我的网站上安装404。对我来说,简单地对其进行评论很容易,但对于典型用户来说,这是一个大问题。

GitHub上现在有150万个死html5shim googlecode URL实例:https://www.reddit.com/r/programming/comments/4u47ak/15m_instances_of_a_dead_html5shim_googlecode_url/

打包主题时,请始终将其打包。如果您不想包含它,请为您的用户编写一个关于如何在事后部署它的教程。如果他们想在外部链接,这通常很好,但不是在基本主题中。

相关推荐

通过CDN完全缓存WordPress站点(例如,云Flare)

由于我们网站上的随机高流量,即使总缓存也不够好(约1000个请求/秒),我们希望将CDN放在整个网站的前面。Cloudflare CDN缓存似乎解决了以下问题:一旦缓存了没有管理员菜单栏的页面,管理员就看不到菜单栏一旦页面被管理员菜单栏缓存,普通用户即使不应该也会看到菜单栏。这可以通过在所有情况下呈现隐藏的管理员菜单栏来解决,但稍后通过JS显示。有没有办法做到这一点?show_admin_bar(true), 但这只显示了没有任何链接的栏。我需要这个栏来呈现所有管理员链接,以便在管理员取消隐藏时可用。