在開發(fā)WordPress主題的時(shí)候,為了實(shí)現(xiàn)更好的效果和加快開發(fā)速度,我們經(jīng)常會(huì)使用一些插件,很多插件會(huì)注冊(cè)自己的 JavaScript 文件和 CSS 文件到前端,為了和主題更好的結(jié)合,我們可能會(huì)把插件的 CSS 或 JS 文件集成到我們開發(fā)的主題中。這時(shí)候插件自帶的 JavaScript 文件和 CSS 文件就是多余的了,我們需要把他們從前端移除。
從性能角度考慮,有些插件會(huì)加載一些我們用不到的 CSS 或 JS,我們需要把插件加載到前端的這些文件去掉,以達(dá)到優(yōu)化頁面打開速度的目的。
WordPress 為我們提供了 wp_deregister_script 和 wp_deregister_style 函數(shù)來實(shí)現(xiàn)這個(gè)需求,具體的使用方法,我們來看一下示例代碼。
WordPress 是怎么注冊(cè)文件到前端的
我們先看一下 WordPress 是怎么注冊(cè)文件到前端的,反注冊(cè)就是注冊(cè)文件的一個(gè)相反的過程。下面的代碼中,wizhi-style 和 wizhi-script 分別是 JavaScript 和 CSS 文件的 Handle,我們?cè)谙旅娴姆醋?cè)過程中,也需要用到。
// 注冊(cè)樣式文件
add_action( 'wp_enqueue_scripts', 'register_plugin_styles' );
function register_plugin_styles() {
wp_register_style( 'wizhi-style', plugins_url( 'my-plugin/css/plugin.css' ) );
wp_enqueue_style( 'wizhi-style' );
}
反注冊(cè)插件中的 JavaScript 和 CSS 文件
在下面的代碼中,函數(shù)的參數(shù)就是需要反注冊(cè)文件的 Handle 名稱,為了找到這個(gè)名稱,我們需要看一下插件的源代碼,方法很簡單,直接搜索插件文件夾的中 wp_enqueue_style 和 wp_enqueue_script 即可。
// 清理不需要的 CSS 文件
add_action('wp_print_styles', 'wizhi_print_css');
function wizhi_print_css() {
wp_deregister_style('wizhi-style');
}
// 清理不需要的 JS 腳本
add_action('wp_print_scripts', 'wizhi_print_scripts');
function wizhi_print_scripts(){
wp_deregister_script('wizhi-script');
}
反注冊(cè)插件中的 JavaScript 和 CSS 文件可以減少 WordPress主題的前端 HTTP 請(qǐng)求數(shù)量,同時(shí)可以降低插件中的 JavaScript 或 CSS 與主題中響應(yīng)的代碼沖突的可能性,相信對(duì)自己要求比較高的 WordPress開發(fā)者都會(huì)有這方面的考慮。



好文章收藏了,以后用得著