Верх страницы
Обложка к записи Как подключить Redux Framework в свой плагин
Время для прочтения: 0 мин. 26 сек.

Как подключить 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!

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, OpenCart, DLE, Laravel, Moonshine, Symfony, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

2 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Олег
Олег
5 лет назад

А этот фрейворк поддерживает создание комплексных полей. Я смотрел, как дело обстоит с этой опцией в современной версии понял, что никак. Одновременно с этим я изучал работу с Carbon fields даже в старой версии присутствет complex filds — это наше все. Без этой возможности, фрейворк будет не очень интересным.

Предыдущая запись
Следующая запись

Давайте дружить
в Telegram

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы