問題描述
當 WordPress 3.6+中的 MP6 was a plugin 更改了管理員的身體類,並添加了一個”admin-mp6″ 類,可幫助我相應地調整我的插件。
現在用最新的 WordPress 的 Alpha,這個類被刪除了。我知道,因為它是一個 alpha 版本的課程可能會回來,但我不知道是否有任何官方的”best practices”
最佳解決方案
雖然它不是具體的 MP6(我沒有遵循它的發展) 和它的 CSS,對我來説,你的問題聽起來像 「如何檢查 WP 版本是否等於一個以上的一些功能被介紹」 。
所以我只是檢查 $wp_version 全局的內容。如果是 3.8 功能,那麼配備版本的東西就可以了。
另外從管理員的 body 類中快速查看 branch-3-7 類,這樣可以將目標 branch-3-8(但是不能有條件地定位為任何> = 3.8,因為這不是 CSS 的一部分) 。
次佳解決方案
我也喜歡一個 CSS-only 變種。不幸的是,這不完全是可能的。我採取的路線是 CSS 和 PHP 的混合。
首先,我們使用 PHP 來檢測安裝的 WordPress 的版本,以及是否安裝了 MP6 。這是很容易的使用 MP6 常量由插件和 $wp_version 全局定義由 Rarst 建議。一旦我們知道我們生活在一個 MP6 世界,我們添加了我們自己的身體類。我選擇使用類名”flaticons”:
/**
* Filter body classes to detect MP6 or WordPress 3.8 so we can substitute the correct styles.
*
* @param array $classes
*
* @global $wp_version
*
* @return array
*/
function flaticons_body_class( $classes ) {
global $wp_version;
if ( ( defined( 'MP6' ) && MP6 ) || version_compare( $wp_version, '3.8', '>=' ) ) {
$classes[] = 'flaticons';
}
return $classes;
}
現在,在我們以前使用.admin-mp6,.admin-color-mp6 或.mp6 選擇器的 CSS 中,我們可以使用.flaticons 。
這將與舊版本的 MP6 和 WordPress 3.8+一起發佈。不是最佳的,而是一個堅實的 future-proof 解決方案。
第三種解決方案
Andrew Nacin 發佈了一些”offical” 方法來處理這個主題 here
CSS 唯一的變體應該使用 branch-3-x 類來定位 3.8 之前的版本,默認值應該應用到所有即將推出的版本,所以你不必關心進一步的版本:
.branch-3-6 .some-selector,
.branch-3-7 .some-selector {
/* some rules go here for 3.6 and 3.7 */
}
.some-selector {
/* 3.8+ rules go here */
}
Read more about 這個話題在 make.wordpress.org 頁面上
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。