查看某个WordPress网站的源代码时你很可能会发现,网站使用的插件让代码中增加了很多javascript和css文件。 而大多数情况下并不是每个页面都需要这些文件,所以完全可以将这些文件从这个页面上清除。
例如,联系表单的样式文件和javascript文件只需要出现在表单实际显示的页面,而没有必要出现在其它任何页面。 或者像WP-PageNavi等插件的样式文件也可以放入到样式表中,而不必每次由插件独立加载。
尽管优化这些插件的脚本也需要花费一些时间,不过总体而言它的确值得我们这样做, 尤其是对规模稍大或流量较多的网站来说。 快速的页面加载能够给访问者带来良好的用户体验,减少带宽负载,甚至可能使搜索排名更进一步。
如果你的网站安装了以下任一插件,你就可以把下面对应的代码添加到functions.php文件里,以此清除或启用插件的样式文件与javascript文件。
Contact Form 7插件
// Add the Contact Form 7 scripts only on the contact page function deregister_cf7_js() { if ( !is_page('contact')) { wp_deregister_script( 'contact-form-7'); } } add_action( 'wp_print_scripts', 'deregister_cf7_js' ); function deregister_ct7_styles() { wp_deregister_style( 'contact-form-7'); } add_action( 'wp_print_styles', 'deregister_ct7_styles');
cForms插件
cForms插件允许用户对插件将要加载的脚本的所在页面进行设置。 下面的代码能够达到更好的加载效果。
// Load cForms scripts only on the contact page function deregister_cforms() { if (!is_page('contact')) { remove_action('wp_head','cforms_style'); } } add_action( 'wp_print_scripts', 'deregister_cforms');
Page Navi插件
注意:PageNavi的管理界面上有一个禁用默认样式的的选项。因此你可能只需要删除PageNavi的css文件并把它添加到网站的样式表就可以了。
// Remove PageNavi CSS on all pages function deregister_styles() { wp_deregister_style( 'wp-pagenavi' ); } add_action( 'wp_print_styles', 'deregister_styles');
Codebox插件
// Remove Codebox styles on all pages function childtheme_deregister_styles() { wp_deregister_style( 'wp-pagenavi' ); wp_deregister_style( 'codebox' ); } add_action( 'wp_print_styles', 'childtheme_deregister_styles' );
Post Tabs插件
// Remove the Post Tabs scripts except for on selected page function deregister_postTabs_addJS() { if (!is_page('page-slug')) { wp_deregister_script( 'postTabs'); } } add_action( 'wp_print_scripts', 'deregister_postTabs_addJS', 200); remove_action('wp_head','postTabs_addCSS');
Calendar插件
// Apply Calendar CSS and Scripts Conditionally function deregister_calendar() { if (!is_page('calendar')) { remove_action('wp_head', 'calendar_wp_head'); } } add_action( 'wp_print_scripts', 'deregister_calendar');
原文:Optimize Plug-in Scripts for WordPress
分类:新闻资讯