Как я могу быть нацелен на WordPress 3.8 новый интерфейс MP6 с CSS?

Когда MP6 был плагином в WordPress 3.6 +, он изменяет класс тела администратора и добавил "администраторский-mp6" класс, который помогает мне разработать свой плагин соответственно.

Теперь с последней Альфой WordPress 3.8 класс был удален. Я знаю, так как это - альфа-версия, класс может возвратиться, но интересно, существуют ли какие-либо официальные "лучшие практики"

7
17.11.2013, 18:50
3 ответа

Andrew Nacin отправил некоторый подход "offical" к этой теме здесь

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 */
}

Читайте больше об этой теме на странице make.wordpress.org

2
19.02.2020, 22:03

В то время как это не характерно для MP6 (я не следую за его разработкой), и его CSS, мне, Ваш вопрос походит, "как проверить, что версия WP равна большему, чем одна некоторая функция была представлена в?".

Таким образом, я просто исследовал бы содержание $wp_version глобальный. Если это - 3,8 функции затем, что-либо с подходящей версией имеет его.

Также от беглого взгляда на body классы в администраторе там branch-3-7 класс, который делает возможным предназначаться branch-3-8 (однако не может быть предназначен условно как ничто> =3.8, так как это не что-то, что CSS делает).

4
19.02.2020, 22:03
  • 1
    я предпочел бы вариант только для CSS. Возможно, это будет добавлено в окончательной версии. Я просто думал, что должен быть "официальный" путь –  Xaver 17.11.2013, 22:18
  • 2
    .mp6 класс не будет возвращаться, как это было там для потребностей самого mp6 плагина; хранение его теперь, когда mp6 является администраторским интерфейсом, было бы довольно бессмысленным и несемантическим. Как Rarst указывает, существует новый branch-3-n класс и также version-3-n доступный класс. –  sabreuse 17.11.2013, 23:25
  • 3
    Почему бы не использовать обнаружение через if ( 'mp6' === get_user_option( 'admin_color' ) ) ? –  Sven 18.11.2013, 00:19
  • 4
    мне действительно не нравится изменять класс тела на бэкенде с моим плагином (для добавления mp6 класса), так как это не только сменные страницы скорее на каждой странице бэкенда. Я могу добавить билет к WP trac –  Xaver 18.11.2013, 14:38

Я также предпочитаю вариант только для CSS. К сожалению, это не совсем возможно. Маршрут, которым я следую, является гибридом 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;
}

Теперь, в нашем CSS везде, где мы ранее использовали .admin-mp6, .admin-color-mp6, или .mp6 селекторы, мы можем использовать .flaticons вместо этого.

Это будет работать и с MP6 на более старых установках и с WordPress 3.8 +, после того как он выпущен. Не оптимальный, но тело, соответствующее требованиям завтрашнего дня решение.

3
19.02.2020, 22:03
  • 1
    Необходимо проверить если flaticons класс тела был уже добавлен, для предотвращения дублирования –  shea 23.11.2013, 05:15

Теги

Похожие вопросы