WP Mega Customizer (Aufanpassen!)
Легко настраивайте свой WP кастомайзер, добавляя/удаляя любые желаемые настройки.
Так, например, создать собственный селектор для логотипов или стиля шрифта можно за 2-3 минуты! Без строчки кода!
Описание
Легкий плагин для настройки вашего WP theme customizer.
Основная цель этого проекта - позволить менеджеру настроить WP customizer с помощью новых разделов/панелей/элементов управления.
Какова цель этого проекта:
- Использование всех стандартные элементы управления WordPress / Woocommerce customizer для создания новых правил CSS
- Создание совершенно новые элементы управления для Customizer
- Управление существующими настройками настройщика, скрытие пунктов меню
- Изменить порядок пунктов меню настройщика
- Создание новых панелей настройки / разделов и элементов управления
- Редактировать и удалять ранее созданные настройки
- Перенесите ваши настройки в тему, используя экспорт->импорт
С чего мне начать?
- Установите и активируйте плагин
- Чтобы создать / просмотреть / отредактировать / переставить элементы управления и настройки
- перейдите в раздел
Темы-> Aufanpassen!
. - Обратите внимание на то, какой элемент управления используется и как вы его инициализируете.
- перейдите в раздел
- Чтобы настроить настройщик - используйте вкладку
Меню
в редакторе меню WP Customizer: Добавить панель
- добавляет новую панельДобавить раздел
- добавляет новый раздел на нужную панельДобавить элемент управления
- добавляет новый элемент управления и настройки в настройщик Наиболееважным
для нового пункта меню здесь являетсяселектор CSS
- это элемент DOM, который вы настраиваете - оно не может быть пустым или некорректным - это приведет к ошибкам компилятора LESS/SASS!- После добавления того или иного, нажмите
Сохранить меню
, а затем перейдите в настройщик, чтобы просмотреть изменения - Не забывайте: все изменения CSS сохраняются только тогда, когда вы
публикуете
их и выходите из настройщика.
Параметры и настройки
Страница пользовательских настроек плагина находится в разделе Темы->Aufanpassen!
меню.
Меню
Главная цель Aufanpassen! проект заключается в настройке кастомайзера, добавлении новых панелей /разделов и элементов управления правилами CSS.
Таким образом, редактор Меню
является здесь первой вкладкой, хотя общей была бы Элементы управления
, потому что элемент управления - это то, на чем основан элемент управления свойствами CSS элемента меню.
Важно!
Меню, которое вы видите в Aufanpassen! меню редактора и фактического настройщика могут отличаться, некоторые пункты могут быть скрыты или даже реорганизованы с помощью Customizer JS или правил CSS темы. Мы не разрешаем применять ни одно из этих правил в нашем редакторе.
Но всему свой черед.
Панели
Панели в настройщике группируют разделы. Панель может иметь заголовок и описание. С точки зрения пользовательского интерфейса панель - это просто пункт меню, который объединяет в себе несколько разделов.
Разделы
Разделы предназначены для группировки элементов управления по определенному названию и описанию. То же, что и панели, но может содержать только элементы управления.
Элементы управления
Элемент управления в Customizer - это CSS-свойство (например, text-decoration
). Компонент управления пользовательским интерфейсом (например, выпадающий список).
Элементы управления для CSS-свойств Customizer в нашем редакторе меню основаны на пользовательских элементах управления, которые мы наследуем от WP/Woo или пользовательских расширений WP_Customize, зарегистрированных в CMS.
Главное, что следует помнить о каждом элементе управления, который вы создаете с помощью нашего редактора,
CSS selector
иCSS property
- никогда не должны быть недопустимыми или пустыми - это может нарушить весь CSS темы и привести к полному сбою в вашем интерфейсе.
Настройки управления таковы:
- Свойство CSS (правило css, которое мы создаем) - выпадающий список с доступным Aufanpassen! элементы управления
- (смотрите информацию о вкладке
Элементы управления
ниже)
- (смотрите информацию о вкладке
- Label
- Описание
- CSS-селектор (тот же синтаксис, как если бы вы создали отдельный css-файл. Например.
.my-class
) - Значение по умолчанию для вашего свойства CSS
Элементы управления
Вкладка Элементы управления
представляет все возможные пользовательские элементы управления для свойств CSS, которые мы можем использовать в Customizer.
Каждый элемент управления имеет:
-
Правило CSS для использования
-
Имя, которое будет отображаться в выпадающем списке, когда мы создадим пользовательские элементы управления
- для меню настройки на вкладке
Меню
- для меню настройки на вкладке
-
Класс для использования в WP Customizer
Важно: не создавайте элементов управления с неопределенным классом - это также полностью нарушит тему!
- Атрибуты - данные синтаксиса JSON (объект, массив), в которых мы инициализируем выбранный выше класс. Например, это как мы можем инициализировать обычный и наиболее часто используемый собственный класс WP_Customize_Control для CSS
background-repeat
свойство - это создаст выпадающий список с нужными параметрами (здесь - выбор):
{
`type`: `select`,
`choices`: {
`repeat`: `Repeat`,
`repeat-x`: `Repeat X`,
`repeat-y`: `Repeat Y`,
`no-repeat`: `No repeat`,
`initial`: `Initial`,
`inherit`: `Inherited`
}
}
- Default - то же значение JSON или text для установки значения по умолчанию в вашем пользовательском элементе управления. Например, для выпадающего списка из предыдущего примера мы можем использовать
no-repeat
в качестве значения по умолчанию. Другим хорошим примером может бытьцвет фона
или значение свойства CSScolor
по умолчанию установлено наrgba(255,255,255,0.7)
Импорт
Импорт позволяет выбрать файл данных и определить, что импортируем.
Важные примечания
- Если вы выберете поврежденный файл данных JSON (или даже не JSON) - это может привести к поломке всего вашего сайта!!!
Экспорт
При экспорте мы можем определить, хотим ли мы экспортировать также все настройки из текущей темы или только данные кастомайзера.
Также можно выбрать, данные по каким темам экспортируем.
Разное
Элементы управления настройщиком
- Включить пользовательские элементы управления / панели в меню настройки - при отключении WP Customizer не будет иметь ни одного из элементов управления, созданных на вкладке
Меню
.
Пользовательский CSS
- Включить пользовательские правила CSS для текущей темы
- при отключении ни один CSS не будет помещен в очередь на компиляцию.
Использовать данные родительской темы
- Определяет, объединяем ли мы все настройки (но не результирующий CSS) от родительской темы к дочерней.
- Например, если у нас есть какая-то пользовательская панель в родительской теме под названием
Моя панель
- она будет автоматически присутствовать в дочерней теме, однако все настройки, которые мы позже сделаем поверх такой панели в дочерней теме, не повлияют на ее родительскую.
- Например, если у нас есть какая-то пользовательская панель в родительской теме под названием
Примечание: Если вы удалили какой-то элемент, но он все еще там, проверьте пункт меню родительской темы (то же самое касается элемента управления).
Шрифты Google
- Выполните обновление списка шрифтов Google для выпадающего списка семейства шрифтов
Перейти к теме
-
Полностью извлеките (eject) текущий проект укажите активную тему для распространения. Например. если на данный момент мы закончили со всеми настройками темы и нам нужны все элементы управления, которые мы создали, + наш готовый CSS - для включения в дистрибутив темы - просто выполните eject.
-
Плагин не понадобится
- Всё меню/элементы управления настройщика и сгенерированный CSS будут
внедрены
в тему автоматически.
- Всё меню/элементы управления настройщика и сгенерированный CSS будут
Примечание: извлеченный код не будет использоваться, пока плагин активен. Извлечение можно выполнять столько раз, сколько потребуется.
ВАЖНО!
Для выполнения этой операции папка темы должна быть доступна для записи на сервере.
Ограничения для пользователей
- Запретить использование тем->Aufanpassen!` панель управления администратора для других администраторов сайта
- (в списке указаны только администраторы блога).
Примечание: все пользовательские меню customizer и пользовательский CSS по-прежнему будут включены в WP Customizer и тему.
Руководство разработчика
Примечание
-
Мы создаем пользовательские элементы управления (доступные элементы управления) с помощью предопределенного расширения WP Customizer классов, зарегистрированных в WP.
-
Мы также определяем атрибуты и правило css для каждого такого элемента управления.
-
Атрибуты применяются, когда класс расширения WP Customizer инициализируется
-
css-правило - это правило для применения, например
padding
,margin
и т.п. -
Вы можете создать несколько элементов управления для одного и того же правила CSS, просто назовите его правильно, чтобы не вводить себя в заблуждение при редактировании меню настройки.
-
-
Далее мы создаем пользовательский пункт меню Customizer
- который основан на одном из элементов управления, созданных нами на предыдущем шаге.
- Такой пункт меню определяет
- какой селектор DOM будет использоваться
- какой элемент управления использовать для настройки выбранного DOM.
Вот и все! Смотрите структуру данных ниже для получения дополнительной информации.
ВНИМАНИЕ!
ВАЖНО
: изменение структуры DOM в admin - это высокий риск испортить всю базовую функциональность того, как мы создаем и редактируем основное меню настройки! Имейте это в виду!ПРИМЕЧАНИЕ: для извлечения всех доступных шрифтов из Aufanpassen существует глобальная функция
aufonts
, добавленная начиная с версии 2.0.6
ВАЖНО
use
Не использовать use ClassName;
директивы внутри #EJECTABLE классов! Использовать только \ClassName
!
Описание данных (для разработчиков - на английском)
Menu
menu
[Array] Defines all custom menu elements we createslug
[String] ID for panel/section/control, begins with ‘auf_’id
[String] Same as above for better relationsctype
[String] One of panel/section/control/settingtype
[String] When adding a setting, this is set totheme_mod
default
[String] Default control valueparent
[String] Slug/ID of the parental elementrule
[String] CSS rule to apply. Defines custom control (see below)title
[String] Title for the panel or sectionlabel
[String] Label for the control we createdescription
[String]selector
[String] DOM element selector to apply rule topriority
[Integer] Menu item prioritysetting
[String] Setting slug we added before adding the control
Example
[ 'menu' => [
'auf_control_2341' => [
`id` => 'auf_control_2341',
'ctype' => 'control',
'default' => '12px',
'parent' => 'auf_section_4321',
'rule' => 'padding',
'label' => 'Site header padding',
'description' => 'Defines padding for the entire site header',
'selector' => '#site-header',
'priority' => 123,
'setting' => 'auf_setting_2342'
]
]
]
Controls
controls
[Array] Defines available controls to use when creating menu aboverule_id
[String] CSS rule identificatorrule
[String] CSS rule to applyname
[String] String-label for the controlclass
[String] Class name to use as a WP Customizer extension classattributes
[Array] Attributes to apply with the class defined abovedefault
[String] Default value to use with the control
Example
[ 'controls' => [
'padding_123' => [
'rule' => 'padding',
'name' => 'My super padding',
'class' => 'WP_Customize_Control',
'attributes'=> [ 'type' => 'text' ],
'default' => '10'
],
]
]
Hidden
hidden
[Array] Defines which items to remove temporarily from Customizerslug
[String] Slug of the menu item (panel/section/control) to hide. Always unique.id
[String] WP Customizer ID of panel/section/controltype
[String] Type - panel/section/control - to hide
Example
[ 'hidden' => [
'some_panel_123' => 'panel'
],
]
Ordered
ordered
[Array] Defines reordered items for the Customizer menuslug
[String] Slug of the menu item (panel/section/control). Always uniqueid
[String] WP Customizer ID of panel/section/controltype
[String] Type - panel/section/controlpriority
[Integer] Order integer value
Example
[ 'ordered' => [
'some_control_123' => [
'type' => 'control',
'priority' => 999
]
],
]
Заметка: Идентификатор WP Customizer может быть одинаковым для раздела / панели /элемента управления. Например, у него может быть раздел с идентификатором
background_image
, и тот же идентификатор может быть установлен для элемента управления внутри этого раздела. Это заставило нас переработать данные, которые мы храним.
Options
options
[Array] Defines plugin optionsoption_name
[String] Option IDoption_value
[String] Option value
Example
[ 'options' => [
'mod_enabled' => true
]
Версии
- 2.2.0
- Исправлена ошибка: превышение максимального значения параметров ввода php при сохранении пунктов меню.
- Все пункты меню сохраняются / удаляются / скрываются сразу после выполнения действия над каждым из них (не массово).
-
Полная переработка для извлекаемого кода - проблема с директивами
use
. -
2.1.3
-
Исправлена ошибка: автоматические обновления на основе Cron для плагина mu не работают должным образом.
-
2.1.2
- Исправлена ошибка: фатальная ошибка при извлечении Aufanpassen с помощью элемента управления выбором шрифтов на пользовательской панели.
-
Исправлена ошибка: доступ к несуществующему смещению массива в /vendor/less.php:7953
-
2.0.6
-
Глобальная функция
aufonts
для извлечения всех доступных шрифтов. -
2.0.5
- Активируйте импортированные настройки напрямую.
-
Исправлена ошибка: импорт из старых настроек не работает.
-
2.0.4
-
Исправлена ошибка при импорте данных из новой версии Aufanpassen (от плагина к плагину)
-
2.0.3
- Улучшен вход в систему при ошибке синтаксического анализатора
- Разрешенные кавычки в селекторах (например, [name=
some_name
]) -
Исправлен предварительный просмотр с кавычками в селекторах
-
2.0.2
- Удалена бесплатная лицензия
-
Важное исправление при импорте меню (родительских идентификаторов)
-
2.0.1
-
Исправлена важная ошибка в компиляторе без поставщика
-
2.0.0
- Полная переработка в плагин
- Совершенно новый редактор меню / элементов управления, полностью основанный на JS (планируется доработка React)
- Правильные названия шрифтов, заключенные в двойные кавычки
- Автоматизация обновления шрифтов Google (смотрите вкладку
Другие настройки
) - Импорт / экспорт настроек для любой установленной темы
- Автоматическое распределение настроек дочерней темы (но не наоборот)
- Настройки, зависящие от темы (разная тема - разные настройки)
- Предварительный просмотр правильных свойств CSS
image
с помощью медиабиблиотеки WP - Правильные имена свойств CSS camelCase в preview JS
- Функциональность извлечения для текущего распространения темы
- Удалена зависимость пользовательского интерфейса от блока jQuery (для чистой совместимости с WP)
-
Решена проблема с зависимостью от jQuery enqueue
-
0.1.2
- Обновлены шрифты Google
- Обход пустых CSS-селекторов
- Элемент управления для редактирования DOM или добавления содержимого
:после
`:до’ - Исправлено несколько ошибок в управлении шрифтами
- Доработка инициализации
-
Вкладка справки для страницы настроек администратора генерируется из этого readme вместо статического содержимого
-
0.1.1
- Обновление правила активации (только для администраторов)
-
Обновите описание
-
0.1.0
-
Важное исправление в том, как мы инициализируем подкаталог CSS (ошибка mkdir)
-
0.0.9
-
Исправлена проблема с ручкой перетаскивания элементов
-
0.0.8
- Результирующий CSS-файл имеет префикс current theme slug, чтобы предотвратить его загрузку в другие темы
-
Данные для темы перемещены за пределы папки Aufanpassen
-
0.0.7
-
Устранены проблемы с совместимостью с PHP 7.4
-
0.0.6
-
Улучшенная обработка ошибок
-
0.0.5
- Отложенное обновление страницы, вместо этого отображаются уведомления о каждой новой настройке / панели после добавления
- Значение по умолчанию обновляется при выборе нового элемента управления, а селектор CSS остается не очищенным после добавления новой настройки
-
Инструменты->Добавленные элементы Aufanpassen следуют своей иерархии
-
0.0.4
-
Доработка над js и css при добавлении нового элемента
-
0.0.3
- Первый стабильный релиз
- Изменены постфиксы над правилами с помощью
_
(подчеркивание) -
Изменен слайдер (добавлены единицы измерения)
-
0.0.2
-
Преобразование в тематический аддон, доработка авторизации администратора для администраторов, расширяемые элементы управления
-
0.0.1
- Первая версия MVP
Описание
Кастомайзер для настройщика тем WP - позволяет в минуты создавать новые панели и контролы для WP Customizer