Tôi cũng thích một biến thể chỉ CSS. Thật không may, điều đó không hoàn toàn có thể. Lộ trình tôi đang đi là sự kết hợp giữa CSS và PHP.
Đầu tiên, chúng tôi sử dụng PHP để phát hiện phiên bản WordPress đã cài đặt và tùy chọn, có cài đặt MP6 hay không. Điều này khá dễ dàng bằng cách sử dụng MP6
hằng số được xác định bởi plugin và $wp_version
toàn cầu theo đề xuất của Rarst. Khi chúng ta biết mình đang sống trong một thế giới MP6, chúng ta sẽ thêm lớp cơ thể của chính mình. Tôi đang chọn sử dụng tên lớp "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;
}
Bây giờ, trong CSS của chúng tôi bất cứ nơi nào chúng tôi đã từng sử dụng .admin-mp6
, .admin-color-mp6
hoặc .mp6
selectors, chúng ta có thể sử dụng .flaticons
để thay thế.
Điều này sẽ hoạt động cả với MP6 trên các bản cài đặt cũ hơn và WordPress 3.8+ sau khi được phát hành. Không tối ưu, nhưng là một giải pháp vững chắc, trong tương lai.