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

Composer Redux Framework WordPress

Источник: https://www.kobzarev.com/wordpress/redux-framework/

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

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: