7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. WordPress

WordPress из коробки: новаторский способ активации плагинов и тем WordPress при установке

Scroll to top
Read Time: 6 mins
This post is part of a series called Out-of-the-Box WordPress.
Out-of-the-Box WordPress: Bundling With Themes & Plugins and wp-config Tweaks

Russian (Pусский) translation by Alexander Popov (you can also view the original English article)

В предыдущей части этой серии мы узнали, как установить WordPress с плагинами и темами, а также о настройке файла wp-config-sample.php.

Конечно, установка тем и плагинов не такая уж потрясающая идея, но вы должны признать, что редактирование файла wp-config-sample.php, чтобы установить WordPress со своими настройками в wp-config.php — это круто. Кроме того, оба совета работают совместно с магическим трюком, который мы увидим в этом уроке и завершим чрезвычайно полезным способом использования установки WordPress из коробки для ваших будущих проектов.

В этой части мы собираемся представить потрясающее открытие об активации тем и плагинов после установки WordPress. Вы увидите это первыми на Tuts+, потому что оно не было представлено до сих пор нигде в Интернете.

Начинайте волноваться.

Одна из самых удобных констант WordPress, которые я когда-либо видел: WP_DEFAULT_THEME

Около года назад я поделился на Tuts+ маленьким открытием, которое я сделал, об использовании файла wp-config-sample.php для настройки создаваемого wp-config.php перед установкой WordPress. И это был пример известной константы wp-config.php с названием WP_DEFAULT_THEMEвы можете прочитать статью здесь, если вам это интересно.

Если вы удалите все темы «Twenty-Нечто» по умолчанию из стандартной установки WordPress, то после установки WordPress выдаст вам сообщение об ошибке вместо внешнего интерфейса, потому что каждая версия WordPress поставляется с темой «по умолчанию», не обращая внимания на другие темы в папке wp-content/themes, если тема по умолчанию не существует.

Вот почему после написания той статьи я подумал, что мог бы использовать эту уловку для другого урока с названием вроде «Создание пакета WordPress из коробки». Я просто записал название, не составив плана, и оставил заметку в моем компьютере почти на год. (Говоря о прокрастинации... Я должен написать статью о ней. Надо записать это.)

Более 10 месяцев спустя я решил написать конспект, отослать в систему управления проектами Tuts+ Code и утвердить его у нашего редактора Тома МакФарлина. Когда он одобрил конспект и я начал писать урок из одной части, который я первоначально имел в виду, я начал думать о WP_DEFAULT_THEME.

Хотя думать о константе WordPress на протяжении двух дней не совсем обычно, я в конечном итоге пришёл к идее, что мог бы использовать эту константу и хитрость с редактированием wp-config-sample.php перед установкой WordPress, чтобы выполнить некоторые задания (например, удаление записи и страницы по умолчанию, изменение структуры ссылок и отключение комментариев), что я обычно делаю со «стартовым» плагином. Тогда я понял, что мог бы активировать некоторые плагины, заранее включённые в пакет. Затем я понял, что мог бы переключиться на настоящую тему после того, как эта вроде-бы-тема выполнит свою работу.

И тогда меня осенило: всё это означало, что я могу активировать включённые в комплект плагины и темы автоматически после установки WordPress! Возможно, вы сможете почувствовать моё волнение от слов, которые читаете сейчас — представьте себе, что я чувствовал, когда сделал это открытие.

Это обходной путь? Конечно. Вы можете даже назвать это «хаком» WordPress. Но он не затрагивает основные файлы (кроме wp-config-sample.php, который нам разрешено редактировать), и не противоречит какому-либо соглашению в WordPress, кроме как «функциональный код — это территория плагинов», но я считаю, что использование «одноразовой темы», которая деактивирует себя через секунду, не является чем-то «некошерным». В конце концов, он не нарушает никаких файлов или правил, и это полностью безопасное решение для установки WordPress из коробки.

Подготовка темы «Группа разогрева»

Теперь, когда мы прошли через логику того, что мы собираемся сделать, настало время для создания одноразовой темы «Группа разогрева».

В этой теме будет только два файла: обязательный style.css и файл functions.php, запускающий наш код из четырёх частей, который:

  1. изменит настройки по умолчанию
  2. удалит содержимое по умолчанию
  3. активирует наши включённые в комплект плагины
  4. переключится на тему «основной исполнитель»

Ниже я привожу содержимое файла style.css для копирования:

Изменение параметров по умолчанию

WordPress не позволяет изменить параметры по умолчанию, потому что установка длилась бы дольше, если это сделать. Но это не значит, что вы не можете их изменить программно. С помощью некоторых основных функций можно легко подогнать параметры под свои нужды:

Как вы можете видеть, мы:

  • сначала создаём ассоциативный массив параметров и их значений,
  • обходим массив в цикле foreach, чтобы использовать функцию update_option() для каждого элемента массива,
  • очищаем правила перенаправлений, потому что мы изменили структуру постоянных ссылок.

Есть множество параметров по умолчанию, с которыми вы можете поиграть — проверьте их в файле wp-admin/includes/schema.php.

Удаление содержимого по умолчанию

Теперь, когда мы изменили некоторые параметры по умолчанию, пришло время для удаления нежелательного содержимого, которое мы всегда удаляли вручную. Это проще:

Активация плагинов в комплекте

Помните, что в предыдущей части мы решили включить в наш пакет три популярных плагина? Мы остановились на WP Super Cache, WordPress SEO от Yoast и Contact Form 7. Теперь давайте их активируем:

Мы также могли бы отключить плагины по умолчанию Akismet и Hello Dolly, но я думаю, что вы уже удалили их из вашего пакета, как сделал я.

Переключение на тему «Основной исполнитель»

Всё готово, и теперь мы можем перейти к настоящей теме, которую мы собираемся использовать! Это самая легкая часть, потому что мы собираемся запустить функцию switch_theme() с именем папки темы в качестве параметра:

Проще простого!

Полный файл functions.php

Конец

Хотя WordPress известен своей «установкой за пять минут», я считаю, что можно выиграть ещё несколько минут, если вы знаете, что делаете. С вещами, которые мы рассмотрели в этой серии, вы могли бы выиграть больше времени до и во время процесса установки WordPress.

Что вы думаете о создании автоматизированной установки WordPress? Думаете ли вы, что есть возможности для улучшения этой серии? Расскажите нам, что вы думаете, написав в разделе комментариев ниже. И если вам понравилась серия, не забудьте поделиться ссылками на обе части!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.