Статьи

Новые настройки wp-config, о которых вы, вероятно, не знали

Файл wp-config.php : одна из самых любимых функций WordPress для некоторых, один из худших кошмаров для других.

Есть множество советов и хитростей в изобилии статей, и вы не можете получить их достаточно; Тем не менее, эта статья стремится быть другой. В этой статье мы познакомимся с восемью новыми приемами wp-config , которые менее известны, чем такие функции, как отключение пост-ревизий, увеличение лимита памяти или другие подобные функции.

Не забудьте сделать резервную копию вашей установки! Советы в этой статье не изменяют никакие значения базы данных и не воспроизводятся с какими-либо файлами (кроме, конечно, wp-config.php ), поэтому вы можете просто скачать копию своего файла wp-config.php , но вы можете сделать резервную копию базу данных и файлы, чтобы убедиться. Лучше безопасно, чем потом сожалеть — частые резервные копии всегда хороши!

Допустим, вы независимый веб-дизайнер (или агентство веб-дизайна), который использует базовую тему WordPress практически для каждого вашего клиента. Разве не было бы замечательно, если бы вам не приходилось менять тему «Twenty-Something» на «Awesome Base Theme» каждый раз, когда вы создаете новую установку WordPress?

Ну, константа WP_DEFAULT_THEME охватывает вас:

1
define( ‘WP_DEFAULT_THEME’, ‘default-theme-folder-name’ );

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

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

Аккуратно, верно? Я не нашел ни одной веб-страницы, упоминающей этот скрытый драгоценный камень (и я нашел эту технику случайно), так что это руководство может быть впервые, когда эта функция будет рассмотрена.

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

В любом случае, мы здесь, чтобы предложить вам решение отключения автоматических обновлений для WordPress:

1
define( ‘AUTOMATIC_UPDATER_DISABLED’, true );

Вы когда-нибудь кричали высоким голосом и ругались семь минут подряд, после удаления медиа-файла, когда вы не должны его удалять? Я знаю, что сделал, прежде чем изучать эту константу WordPress:

1
define( ‘MEDIA_TRASH’, true );

Установите его, и вам никогда не придется беспокоиться об удалении файла мультимедиа — за исключением случаев, когда вы полностью отключили функцию «trash» WordPress, установив константу EMPTY_TRASH_DAYS в «0».

Будьте осторожны с этим тоже.

Я не использую темы по умолчанию. Когда-либо. Я не против них и не люблю их, но я предпочитаю создавать и использовать свои собственные темы. Таким образом, мне не нужна новая тема по умолчанию при установке крупного обновления.

Поскольку WordPress настолько гибок, и я не уникален в этом, он дает нам возможность пропустить обновление каталога wp-content :

1
define( ‘CORE_UPGRADE_SKIP_NEW_BUNDLED’, true );

Это также может дать процессу обновления небольшой прирост скорости. Не ожидайте ничего больше секунды.

Предоставлено: WP Engineer

WordPress имеет ограничения по типу файлов при загрузке файлов в медиатеку. Вы не можете загружать ничего, кроме изображений, документов, аудио- или видеофайлов, и это хорошо для безопасности. Но что, если вы независимый разработчик программного обеспечения и хотите загружать новые версии своего программного обеспечения — вам придется использовать FTP-клиент каждый раз, когда вы обновляете свое программное обеспечение?

Нет, вам просто нужно определить ALLOW_UNFILTERED_UPLOADS для ALLOW_UNFILTERED_UPLOADS следующим образом:

1
define( ‘ALLOW_UNFILTERED_UPLOADS’, true );

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

Если у вас многоязычный веб-сайт, и вам нужен ваш веб-сайт для изменения языка вашей темы и панели администрирования, вы можете сделать небольшой трюк, чтобы определить язык браузера посетителя и определить константу WPLANG на основе этой информации.

Сначала вам нужно создать файл wp-lang.php и заполнить его приведенным ниже кодом, а затем сохранить в том же каталоге, в котором находится wp-config.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
<?php
// start the session
session_start();
 
// if there’s a «lang» parameter in the URL…
if( isset( $_GET[ ‘lang’ ] ) ) {
 
    // …set a session variable named WPLANG based on the URL parameter…
    $_SESSION[ ‘WPLANG’ ] = $_GET[ ‘lang’ ];
 
    // …and define the WPLANG constant with the WPLANG session variable
    define( ‘WPLANG’, $_SESSION[ ‘WPLANG’ ] );
 
// if there isn’t a «lang» parameter in the URL…
} else {
 
    // if the WPLANG session variable is already set…
    if( isset( $_SESSION[ ‘WPLANG’ ] ) ) {
 
        // …define the WPLANG constant with the WPLANG session variable
        define( ‘WPLANG’, $_SESSION[ ‘WPLANG’ ] );
 
    // if the WPLANG session variable isn’t set…
    } else {
         
        // set the WPLANG constant to your default language code is (or empty, if you don’t need it)
        define( ‘WPLANG’, ‘tr_TR’ );
             
    }
}
?>

Затем в файле wp-config.php замените строку, в которой определяется WPLANG строкой ниже:

1
require_once( dirname( __FILE__ ) . ‘/wp-lang.php’ );

И вуаля! Теперь ваши посетители могут изменять язык вашей темы и панели администратора, просто нажимая кнопки с параметром URL lang=fr_FR .

Кредит: Обсуждение переполнения стека (я изменил код.)

Если вы используете плагин, для которого требуется ключ API WordPress.com (например, Jetpack или Akismet ) и у вас есть множество сайтов WordPress для поддержки, может быть немного неудобно вводить ваш ключ API WordPress.com каждый раз, когда вы устанавливаете его. плагин.

Есть простой способ. Вы можете определить свой ключ API в файле wp-config.php как константу:

1
define( ‘WPCOM_API_KEY’, ‘YourKeyHere’ );
Проверьте, есть ли у других ваших любимых плагинов эта функция. Плагины, такие как SlideDeck и Gravity Forms, также поддерживают определение их ключей API как констант.

В WordPress есть функция wp_kses (), которая, согласно WordPress Codex:

«… гарантирует, что в $ string будут содержаться только разрешенные имена элементов HTML, имена атрибутов и значения атрибутов плюс только вменяемые объекты HTML».

Вы можете редактировать его правила с помощью фильтров, например:

01
02
03
04
05
06
07
08
09
10
11
<?php
 
function my_filter( $string ) {
 
    global $allowedtags;
    $allowedtags[‘img’] = array( ‘src’ => array () );
 
    return $string;
}
add_filter( ‘pre_kses’, ‘my_filter’ );
?>

Но если вам нужен полный контроль , что означает перезапись $allowedposttags , $allowedtags и $allowedentitynames , вы можете сделать это, CUSTOM_TAGS константы CUSTOM_TAGS значение true в wp-config.php :

1
2
3
4
define( ‘CUSTOM_TAGS’, true );
$allowedposttags = array();
$allowedtags = array();
$allowedentitynames = array();

Вы должны переписать каждую переменную ниже. Вы можете просто скопировать и вставить переменные в wp-includes/kses.php , а затем отредактировать вставленный вами код.

Кредит: OttoPress.com

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

Я действительно надеюсь, что вам это нравится.

Как насчет вас, вы знаете какие-нибудь хорошие трюки wp-config ? Оставьте комментарий, чтобы поделиться своим опытом! И если вам понравился пост, не забудьте поделиться!