查看某個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
上一篇 正則表達式元字符