類似程式碼重構,不要輕易移除看似「沒用」的程式碼。輕易更改不熟悉的東西,可能會引入更多的問題,從而更加折騰。本人前幾天便趟了一個大坑,折騰一圈才發現眼前看到的「沒用」不是真正的沒用。
前幾天用PageSpeed Insights測試了一下網站的載入速度。根據測試結果,除了移除沒用的dashicons.min.css,暫無其他可優化的空間。
為了評分更高,使用者的載入速度更快,決定把這個「沒用」的css檔案去掉。沒想到的是直接在文件內grep
還找不到對應的link標籤,經過Google搜索,找到如下代碼放在當前主題的functions.php文件中:
// remove dashicons in frontend to non-admin function wpdocs_dequeue_dashicon() { if (current_user_can( 'update_core' )) { return; } wp_deregister_style('dashicons'); } add_action( 'wp_enqueue_scripts', 'wpdocs_dequeue_dashicon' );
改完後再測試,dashicons.min.css果然沒再加載,完美!
今天查看網站頁面,發現右下角「回到頂部」的按鈕不見了,取而代之的是左下角無樣式的「scroll up」文字。 「to top」插件設定的浮動按鈕去哪了?
接下來開始各種檢查:autoptimize插件的問題嗎?是不是跟"to top"插件不相容?是不是快取的問題?登入後台後按鈕又出現了,這是為什麼?等等各種找問題。
最後還是決定透過檢視元素對比登陸前後的變動來定位問題。可以看到的是html元素一致,但是某些css屬性沒有了。將消失的css屬性加進去,勉強能用,形狀比較彆扭。再仔細看,"dashicons"類的css設定都不存在,怪不得圖示不對。等等,css的"dashicons"類,這個怎麼有點眼熟?再仔細回想一下,前幾天不就把dashicons.min.css移除了嘛!難道這就是問題所在? ! !
於是將前幾天加的移除dashicons.min.css程式碼註解掉,再次測試,熟悉的「回到頂部」圖示又回來了!