воскресенье, 3 января 2010 г.

Создание своей сборки Wordpress. Предустановочная настройка. Schema.php

За активацию тех или иных настроек в файле schema.php отвечает функция populate_options(). Находите место инициализации этой функции (т. е. строку function populate_options() ) и в теле функции увидите перечень конкретный настроек. Для версий Wordpress'a 2.6.*, 2.7.* этот перечень будет выглядеть примерно так:

add_option('siteurl', $guessurl);
add_option('blogname', __('My Blog'));
add_option('blogdescription', __('Just another WordPress weblog'));
add_option('users_can_register', 0);
add_option('admin_email', 'you@example.com');

и так далее,

а для версий Wordpress'a, начиная с 2.8, будет выглядеть вот так:

$options = array(
'siteurl' => $guessurl,
'blogname' => __('My Blog'),
'blogdescription' => __('Just another WordPress weblog'),
'users_can_register' => 0,
'admin_email' => 'you@example.com',

и так далее. Если перевести название опций с английского языка, то всё становится более или менее понятным. Например 'blogdescription' переводится как «описание блога». Следовательно, если в schema.php в теле функции populate_options() вставить строку

add_option(' blogdescription ', 'My Splendid Blog'); или строку

' blogdescription ' => 'My Splendid Blog',

соответственно версии Wordpress'а

то у всех ваших блогов будет описание «My Splendid Blog».

Оговорюсь сразу, что в данном случае пример будет работать только для строк, состоящих из латинских букв, для кириллицы требуются дополнительные настройки.

Параметр вида add_option('blogname', 'Wonderful Blog'); вообще не будет работать, ни в варианте с латинскими буквами, ни в варианте с кириллицей, так как требует ввода названия блога с клавиатуры. Можно заставить работать и этот вариант, но он требует редактирования не только файла schema.php. Подробнее на этом останавливаться не будем.

Параметр, устанавливающий адрес постов в виде их названия, работает без нареканий и выглядит так:

add_option('permalink_structure', '/%postname%/');

или так:

'permalink_structure' => '/%postname%/', .

Все прочие параметры, требующие в качестве параметра одну-единственную константу, числовую или строковую, также нормально работают при задании этих параметров в файле schema.php

Иногда в параметре настройки надо задать несколько значений. Делается это по-разному для каждой конкретной настройки.

Так, например, запись о плагинах, подлежащих активации сразу после установки, является массивом, и поэтому будет выглядеть примерно так:

add_option('active_plugins', array("rus-to-lat.php", "russian-date.php", "wp-contact-form/wp-contactform.php"));

или так:

'active_plugins' => array("rus-to-lat.php", "russian-date.php", "wp-contact-form/wp-contactform.php"),

В массив можно вписать любое количество активируемых плагинов. Обратите внимание, что если плагин располагается в собственной папке, то кроме запускающего файла плагина надо прописать и папку, - "wp-contact-form/wp-contactform.php".

А вот для параметра ping_sites запись будет выглядеть точно так же как и в базе данных, т. е. отдельные пинг-сервисы будут отделяться друг от друга переводом строки (клавиша Enter). То есть будут выглядеть так:

add_option('ping_sites', 'http://rpc.pingomatic.com/
http://bg.ping.com/
http://c.gomatic.com/');

или так:

'ping_sites' => 'http://rpc.pingomatic.com/
http://bg.ping.com/
http://c.gomatic.com/',

Судя по рекомендациям в интернете, список пинг-сервисов можно также отделять пробелом или экранированным переводом строки (эскейп-последовательностью – \n). Эти варианты я не проверял, поскольку вариант с разделением Enter'ом вполне нормально работает.

Комментариев нет:

Отправить комментарий