How I created a “wizard” for WordPress from my deep laziness

Hello to all. We all love the automation of processes in our lives. I also did not become an exception. After all, laziness is the engine of progress , so I am writing this post.



I’ll start over: Today I’m working as a QA tester in TemplateMonster in the Wordpress department. I never thought before that the installation of a clean WordPress engine (hereinafter WP) for testing templates can start to feel sick. Especially when the number of installations per day exceeds 20. That’s when one of these days gave birth to the idea to make an automator (Master, WIZARD) installation.

Many who worked with this engine know how to perform the default installation.
This article will discuss the installation on the Local Server - OpenServer.

Standard installation WP, who did not know
  • First we need to create a mysql database with encoding - utf8_general_ci .
  • Затем поместить содержимое архива, скачанного с официального сайта WP или репозитория на GitHub в папку на локальном сервере, где будет лежать Ваш сайт.
  • Прописать в адресной строке локальный путь к данной папке где Вас встретит визард стандартной установки WP. На первом экране визарда необходимо выбрать язык установки. После чего ввести информацию для подключения к только что созданной базе данных. А именно:
    • Имя базы данных mysql.
    • Имя пользователя к базе.
    • Пароль к ней.
    • Сервер.
    • Префикс, если это необходимо.
  • Затем, если все прошло успешно в пункте выше, нас встретит второй экран визарда. Он попросит:
    • Название будущего сайта.
    • Имя пользователя.
    • Пароль в панель администратора.
    • А также email.
  • После всех операций мы наконец-то попадаем на экран входа в админку.


But I wanted to get away from it all and just click on the button - “do well”. On PHP, before that, I did not really cod. Is that in the university. And that, for the sake of delivery of laboratory work honed copy-paste skills.

At the moment my wizard is freely available on Git . You have the right to download it, edit it, customize it for yourself, change the icon and bg. In general, all that pleases.

I described the setup in 3 steps in the README.md file , as well as in this video .

Setup in 3 clicks
Настройка очень проста:

  • Перейти в файл wp-wizard/install.php.

  • Прописать путь к папке с установкой WP в переменной $template_testing_folder.

  • Прописать локальный IP-адрес в переменной $site_url (эта переменная установится в пути базы данных).


Why it is convenient:

  • Setup is made only 1 time for all installations.

  • You do not create a database.

  • You do not need to follow the latest version of WP, it always pulls up from the official repository.

  • To make a new WP installation, you need to go through the local path, enter the site name and press Enter. Attention! The base will be called as well. If you need to have a different name for the database and folder with the site - I made a separate variable for this. You just need to make a new input in index.php and duplicate its name in install.php. to the $ db_name variable .

Cons at the moment:
Nobody's Perfect:

  • Данный скрипт был протестирован на нескольких web-хостингах, но не может создавать для себя БД и имортить базовые таблицы WP при установке. Это связано с правами доступа на «создание», «чтение» и«редактирование» бд. Поэтому предназначен для использования на локальном сервере.

  • Главный, наверное, минус в том что код был написан новичком. Я сам считаю что код не особо сложно читаем, но это все стоит организовать получше. Разбить функции по своим файлам и писать полностью на ООП.


What exactly does the script do:
Функции прописаны в файле wp-wizard/install.php:

  • После ввода в input названия папки с установкой, вызывается функция которая выкачивает последнюю версии WP, и разархивирует .zip в папку, которую вы указали выше в переменную $template_testing_folder.

  • Затем создается БД и импорт в нее SQL со стандартными таблицами WP, которые генерируются по умолчания, как если бы вы проходили стандартный визард.

  • После чего происходит создание и замена строк файла wp-config.php. Главного файла в котором содержится подключение к бд. Строки, как вы поняли, генерируются из переменных вначале файла wp-wizard/install.php.

  • А после несколькосекундной генерации всего добра, мы увидим окошко для входа в админ-панель WP.
Внимание! В папке wp-wizard/ лежит файлик дампа main.sql. Это, как уже говорилось выше — стандартный дамп, который генерит WP. В котором в таблице «wp_users» забит login: admin и password: 1. Если вы хотите использовать свой файлик дампа, то вам нужно заменить локальный адрес на «site_url».


  • Checkbox «NEED KAVA» и функция is_kava(); вызывают подгрузку темы KAVA непосредственно в папку с темами. Это тема от ZEMEZ — вендор, который частенько попадает на тестирование, поэтому я сделал чекбокс при создании WP. Как они сами говорят про себя — «Get the truly easy-to-use free theme with tons of functionality and perfect design!» на официальном репозитории GitHub.


And this is how the WP-WIZARD start page looks like.



Only one field. This is what I wanted.

All good and thank you for your attention!

Also popular now: