В предыдущей части этой серии мы узнали о том, как связать установку WordPress с плагинами и темами, а также wp-config-sample.php
файл 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-Something» из пакета WordPress по умолчанию, WordPress выдаст сообщение об ошибке вместо внешнего интерфейса после установки, поскольку каждая версия WordPress поставляется с «темой по умолчанию» и не найдите другую тему в папке wp-content/themes
если тема по умолчанию отсутствует.
Вот почему после написания этой статьи я подумал, что смогу использовать эту настройку для другого учебника, который называется что-то вроде «Создание готового пакета WordPress». Я только отметил название, не хотел создавать наброски и оставил заметку на моем компьютере почти год . (Разговор о промедлении … Я должен написать статью об этом. Я должен отметить это.)
Спустя 10 месяцев я решил создать схему и представить в систему управления проектами Tuts + Code и получить одобрение нашего редактора Тома Макфарлина. Когда он одобрил план, и я начал писать учебник, WP_DEFAULT_THEME
из одной части, который я изначально имел в виду, я начал думать о WP_DEFAULT_THEME
.
Хотя думать о константе WordPress в течение двух дней довольно необычно, у меня появилась идея, что я мог бы использовать эту константу и хитрость редактирования wp-config-sample.php
перед установкой WordPress для выполнения некоторых поручений (таких как удаление пост и страница по умолчанию, изменение структуры постоянных ссылок и отключение комментариев), что я обычно делаю с «плагином для начинающих». Тогда я понял, что могу активировать некоторые плагины, поставляемые вместе с пакетом заранее Затем я понял, что смогу переключить тему на настоящую тему после того, как эта тема сделана.
И тут меня поразило: все это означало, что я могу активировать предварительно установленные плагины и тему автоматически при установке WordPress! Вы, вероятно, можете почувствовать мое волнение от слов, которые вы сейчас читаете — представьте, что я чувствовал, когда сделал это открытие.
Это обходной путь? Абсолютно. Вы можете даже назвать это WordPress «взломать». Но он не редактирует какие-либо файлы ядра (кроме wp-config-sample.php
, который нам разрешено редактировать), и это не противоречит соглашению WordPress, за исключением «функциональный код — территория плагина», но я считаю, что использование « одноразовая тема «которая сама себя деактивирует за секунду, не» не кошерная «. В конце концов, он не нарушает никаких файлов или правил и является полностью безопасным решением для установки WordPress из коробки.
Создание темы «Warm-Up Band»
Теперь, когда мы проработали логику того, что мы собираемся сделать, пришло время создать одноразовую тему «Warm-Up Band».
В этой теме будет всего два файла: обязательный style.css
и файл functions.php
который будет запускать наш код из четырех частей, который будет:
- изменить параметры по умолчанию
- удалить содержимое по умолчанию
- активировать наши предварительно установленные плагины
- переключиться на тему «Headliner»
Я помещаю style.css
файла style.css
ниже для вас, чтобы скопировать:
1
2
3
4
5
6
|
/*
Theme Name: Warm-Up Band
Author: Baris Unver from Tuts+ Code
Description: Disposable theme to run some errands.
Version: 0
*/
|
Изменение параметров по умолчанию
WordPress не позволяет вам изменять параметры по умолчанию, потому что, в противном случае, установка будет более продолжительной. Но это не значит, что вы не можете изменить их программно. С помощью некоторых основных функций легко настроить параметры для ваших нужд:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?php
// set the options to change
$option = array(
// we don’t want no description
‘blogdescription’ => »,
// change category base
‘category_base’ => ‘/cat’,
// change tag base
‘tag_base’ => ‘/label’,
// disable comments
‘default_comment_status’ => ‘closed’,
// disable trackbacks
‘use_trackback’ => »,
// disable pingbacks
‘default_ping_status’ => ‘closed’,
// disable pinging
‘default_pingback_flag’ => »,
// change the permalink structure
‘permalink_structure’ => ‘/%postname%/’,
// dont use year/month folders for uploads
‘uploads_use_yearmonth_folders’ => »,
// don’t use those ugly smilies
‘use_smilies’ => »
);
// change the options!
foreach ( $option as $key => $value ) {
update_option( $key, $value );
}
// flush rewrite rules because we changed the permalink structure
global $wp_rewrite;
$wp_rewrite->flush_rules();
?>
|
Как видите, мы:
- сначала создали ассоциативный массив опций и их значений
- запустил массив в цикле
foreach
чтобы использоватьupdate_option()
для каждого элемента массива - сбросил правила перезаписи, потому что мы изменили структуру постоянных ссылок
Существует множество опций по умолчанию, с которыми вы можете поиграть — посмотрите их здесь в файле wp-admin/includes/schema.php
.
Удаление содержимого по умолчанию
Теперь, когда мы изменили некоторые параметры по умолчанию, пришло время удалить тот нежелательный контент, который мы всегда удаляем вручную. Это проще:
1
2
3
4
5
6
7
8
|
<?php
// delete the default comment, post and page
wp_delete_comment( 1 );
wp_delete_post( 1, TRUE );
wp_delete_post( 2, TRUE );
?>
|
Активация связанных плагинов
Помните, что мы решили объединить наш пакет с тремя популярными плагинами в предыдущей части? Мы остановились на WP Super Cache , WordPress SEO от Yoast и контактной форме 7 . Давайте активируем их сейчас:
01
02
03
04
05
06
07
08
09
10
|
<?php
// we need to include the file below because the activate_plugin() function isn’t normally defined in the front-end
include_once( ABSPATH . ‘wp-admin/includes/plugin.php’ );
// activate pre-bundled plugins
activate_plugin( ‘wp-super-cache/wp-cache.php’ );
activate_plugin( ‘wordpress-seo/wp-seo.php’ );
activate_plugin( ‘contact-form-7/wp-contact-form-7.php’ );
?>
|
Мы также могли бы деактивировать плагины Akismet и Hello Dolly по умолчанию, но я полагаю, что вы уже удалили их из своего пакета, как и я.
Переход на тему «Headliner»
Все установлено, и теперь мы можем перейти к актуальной теме, которую будем использовать! Это самая простая часть, потому что мы собираемся запустить switch_theme()
с именем папки темы в качестве параметра:
1
2
3
4
5
6
|
<?php
// switch the theme to «Headliner»
switch_theme( ‘headliner’ );
?>
|
Проще простого!
Полный файл functions.php
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
<?php
// set the options to change
$option = array(
// we don’t want no description
‘blogdescription’ => »,
// change category base
‘category_base’ => ‘/cat’,
// change tag base
‘tag_base’ => ‘/label’,
// disable comments
‘default_comment_status’ => ‘closed’,
// disable trackbacks
‘use_trackback’ => »,
// disable pingbacks
‘default_ping_status’ => ‘closed’,
// disable pinging
‘default_pingback_flag’ => »,
// change the permalink structure
‘permalink_structure’ => ‘/%postname%/’,
// dont use year/month folders for uploads
‘uploads_use_yearmonth_folders’ => »,
// don’t use those ugly smilies
‘use_smilies’ => »
);
// change the options!
foreach ( $option as $key => $value ) {
update_option( $key, $value );
}
// flush rewrite rules because we changed the permalink structure
global $wp_rewrite;
$wp_rewrite->flush_rules();
// delete the default comment, post and page
wp_delete_comment( 1 );
wp_delete_post( 1, TRUE );
wp_delete_post( 2, TRUE );
// we need to include the file below because the activate_plugin() function isn’t normally defined in the front-end
include_once( ABSPATH . ‘wp-admin/includes/plugin.php’ );
// activate pre-bundled plugins
activate_plugin( ‘wp-super-cache/wp-cache.php’ );
activate_plugin( ‘wordpress-seo/wp-seo.php’ );
activate_plugin( ‘contact-form-7/wp-contact-form-7.php’ );
// switch the theme to «Headliner»
switch_theme( ‘headliner’ );
?>
|
Конец
Хотя WordPress славится своим «пятиминутным процессом установки», я считаю, что можно сэкономить еще несколько минут, если вы знаете, что делаете. Благодаря тому, что мы рассмотрели в этой серии, вы можете выиграть больше времени до и во время процесса установки WordPress.
Что вы думаете о создании автоматических установок WordPress? Как вы думаете, есть больше возможностей для улучшения серии? Скажите нам, что вы думаете, написав в разделе комментариев ниже. И если вам понравился сериал, не забудьте поделиться обеими частями!