Как подключить Redux Framework в свой плагин
Redux Framework — это удобный и расширяемый фреймворк для создания страниц настроек тем и плагинов для WordPress.
Подходит для случаев, когда настроек очень много, для простых же ситуаций лучше использовать нативный Settings API.
На данный момент имеется уже четвертая версия Redux Framework, которая находится на стадии бета-тестирования, вот ее мы и возьмем за основу, так как эта версия фреймворка стала значительно быстрее и полностью соответствует стандартам WPCS.
Для начала добавим Redux Framework как зависимость к нашему проекту в composer.json
:
"require": {
"composer/installers": "*",
"reduxframework/redux-framework-4" : "*"
},
Выполним установку зависимостей:
composer install
И обнаружим, что фреймворк установился не в папку vendor
, как мы расчитывали, а в wp-content/plugins
, которая создалась в корне вашего проекта:
Произошло так потому, что у самого Redux Framework в его composer.json
укзан тип проекта "type": "wordpress-plugins".
Если вам хочется иметь фреймворк в папке vendor
, то придётся немного пошаманить с путями в вашем файле настроек.
Так как плагина Redux Framework 4 пока нет в Packagist, укажем композеру, откуда выкачивать пакет:
"repositories": [
{
"type": "package",
"package": {
"name": "reduxframework/redux-framework-4",
"type": "wordpress-plugin",
"version": "4.0.1",
"dist": {
"type": "zip",
"url": "https://github.com/reduxframework/redux-framework-4/archive/master.zip"
},
"require" : {
"composer/installers": "*"
}
}
}
]
Укажем, куда устанавливать пакеты с типом wordpress-plugins
:
"extra": {
"installer-paths": {
"vendor/{$name}/": ["type:wordpress-plugin"]
}
}
Обычно классы пакетов, которые устанавливаются в папку vendor
, не нуждаются в ручном подключении и меппинге, но в Redux Framework не всё как у людей. Поэтому добавим папку с его классами ручками в блок autoload
:
"autoload": {
"classmap": [
"includes",
"vendor/redux-framework-4/ReduxCore"
]
}
Снова выполним установку пакета, прдварительно удалив папку wp-content
:
rm -fr wp-content
composer install
На этом процесс конфигурации композера можно считать завершённым. Пробуем:
Redux::get_option( 'option_name' );
Полную версию composer.json
с подключенным Redux Framework вы можете подглядеть в моем плагине для Турбо страниц.
Удачи. Всё будет WordPress!
А этот фрейворк поддерживает создание комплексных полей. Я смотрел, как дело обстоит с этой опцией в современной версии понял, что никак. Одновременно с этим я изучал работу с Carbon fields даже в старой версии присутствет complex filds — это наше все. Без этой возможности, фрейворк будет не очень интересным.
Комплексные поля (рипитеры) у них есть отдельным аддоном. Но это же для админки фреймворк. Это не как ACF и Carbon.