Архив рубрики: Публикации

Полезные для WordPress конфигурации которые вы может не знаете

Если файл functions.php является важным в теме блога WordPress, то wp-config.php это самый важный файл в установки блога WordPress. Этот файл используется для настройки функциональных возможностей базы данных (далее будем сокращать как БД), позволяет повысить производительность и улучшить безопасность на всей системе управления контентом сайтов WordPress и блогов. В статье мы расскажем о некоторых из наиболее полезных для WordPress конфигурации которые вы может не знаете еще.

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

Когда вы загружаете WordPress с помощью FTP и получаете доступ к сайту, вы увидите такой экран:

Создать конфигурационный файл

Настройки в основном говорят вам, чтобы вы настроили wp-config-sample.php ведь он может работать не на всех хостингах. Большинство хостингов, которые мы попробовали, он работает. Если вы используете одну из популярных хостов, то он будет работать. Следующим шагом будет нечто подобное:

Изменения префикса таблиц

Там вы вводите определенную ключевую информацию. WordPress позволяет подключится к БД. Все данные в настройках будут добавлены в ваш wp-config.php как:

define('DB_NAME', 'database-name');

define('DB_USER', 'database-username');

define('DB_PASSWORD', 'database-password');

define('DB_HOST', 'localhost');

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

Один из самых хороших трюк для wp-config.php в книге WordPress была способность обнаруживать базы данных хоста.

define('DB_HOST', $_ENV{DATABASE_SERVER});

Вставьте код выше в файл wp-config.php, он, скорее всего, определит сервер БД.

Ключи безопасности

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

Они могут быть добавлены в wp-config.php:

define('AUTH_KEY', 'вставьте здесь вашу уникальную фразу');

define('SECURE_AUTH_KEY', 'вставьте здесь вашу уникальную фразу');

define('LOGGED_IN_KEY', 'вставьте здесь вашу уникальную фразу');

define('NONCE_KEY', 'вставьте здесь вашу уникальную фразу');

define('AUTH_SALT', 'вставьте здесь вашу уникальную фразу');

define('SECURE_AUTH_SALT', 'вставьте здесь вашу уникальную фразу');

define('LOGGED_IN_SALT', 'вставьте здесь вашу уникальную фразу');

define('NONCE_SALT', 'вставьте здесь вашу уникальную фразу');

Вы можете получить уникальные ключи, перейдя на эту страницу. Мы сделали статью чтобы вы узнали, зачем нужны ключи безопасности.

Префикс БД

Когда вы устанавливаете с помощью мастера блог WordPress, появляется один из вариантов: выбор префикса таблиц БД. Хранится данный код в файле wp-config.php:

$table_prefix = 'wp_';

Мы рекомендуем использовать нечто иное, чем wp_ , чтобы защитить пользователей и добавить лишней работы для хакеров. Хотя если у вас уже установленный WordPress, тогда не просто изменить префикс такой. В данном случае для изменения префикса можно использовать плагины.

Язык конфигурации.

По умолчанию установлен английский язык в локализации WordPress, но его можно изменить на свой родной язык с помощью кода:

define('WPLANG', '');

define('LANGDIR', '');

Языковой файл перевода (.МО) должны быть размещён в папке по умолчанию, предполагается размещение в WP-content/languages (первый) и в WP-includes/languages (второй). Как видите выше, вы можете задать свой язык, какой вам нравится.

Отладки в WordPress

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

define(‘WP_DEBUG’, false); // отключить режим отладки, стоит по умолчанию

define(‘WP_DEBUG’, true); // включить режим отладки

Блог/Адрес Сайта

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

define('WP_HOME', 'http://AndreyEx.ru');

define('WP_SITEURL', 'http://AndreyEx.ru');

Добавив их в свой wp-config.php сокращается число запросов к базе данных, таким образом увеличивая производительность вашего сайта.

Переопределить права доступа к файлам

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

define('FS_CHMOD_FILE', 0755);

define('FS_CHMOD_DIR', 0644);

Изменения постов

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

Автоматическое сохранение конфигураций

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

define('AUTOSAVE_INTERVAL', 120); // в секундах

Некоторые посты имеют 10, 20, а то даже 100 изменений постов в зависимости от владельца блога. Если вы думаете, что функция вас раздражает, то вы можете ограничить количество изменений в расчете на одну должность.

define('WP_POST_REVISIONS', 5);

Вы можете использовать любое целое число, как вам удобно.

Если ни один из методов выше не устраивает Вас, то можете отключить изменение ревизий, добавив эту функцию:

define('WP_POST_REVISIONS', false);

Особенности мусора Вордпресс

В WordPress 2.9, появилась еще одна новая функция “мусорная корзина”, добавленная в ядро. Эта функция работает так же, как мусорная корзина, так что вместо удаления поста навсегда, вы бы отправить его в корзину. Это помогло тем пользователям, которые случайно нажать на кнопку Удалить, а это может сделать любой из нас. Плохая сторона этой мусорной корзины является то, что вы должны очищать мусор, регулярность зависит от степени её заполнения. По умолчанию корзина сама очищается каждые 30 дней. Вы можете изменить, используя следующую функцию:

define('EMPTY_TRASH_DAYS', 7 ); //целое число-это количество дней

Для отключения функции, добавьте код ниже:

define('EMPTY_TRASH_DAYS', 0 );

Но помните! Установив значение 0, WordPress будет очищать корзину при удалении записей без  подтверждения. Любое неосторожное нажатие может стоить вам…

Константы для FTP/SSH

По умолчанию WordPress позволяет вам обновить плагины, и ядро WordPress версий от бэкэнда. Есть некоторые хосты, которые требует FTP или SSH-соединение каждый раз при попытке обновить или установить новый плагин. С помощью приведенных ниже штрих-кодов, вы можете установить соединение FTP или SSH и больше не беспокоиться.

// Методы файловой системы: "direct", "ssh", "ftpext", or "ftpsockets"

define('FS_METHOD', 'ftpext');

// абсолютный путь к корневому директорию

define('FTP_BASE', '/путь/к/на Вордпресс/');

// абсолютный путь к "WP-content" каталогов

define('FTP_CONTENT_DIR', '/путь/к/для Вордпресс/WP-content/');

// абсолютный путь на WP-plugins" каталога

define('FTP_PLUGIN_DIR ', '/путь/к/для Вордпресс/WP-content/plugins/');

// абсолютный путь до открытого SSH-ключа

define('FTP_PUBKEY', '/Home/username/.по SSH/id_rsa.паб');

// абсолютный путь до Вашего закрытого ключа SSH

define('FTP_PRIVKEY', '/Home/username/.по SSH/id_rsa');

// либо FTP или SSH имя_пользователя

define('FTP_USER', 'имя_пользователя');

// пароль для пользователя FTP_USER

define('FTP_PASS', 'пароль');

// имя_узла:порт комбо для ваших SSH/FTP-сервер

define('FTP_HOST', 'ftp.example.org:21');

Автоматическая оптимизация Базы Данных

В WordPress 2.9 добавлена функция называемая как автоматическая оптимизация БД. Для включения функции, вам необходимо использовать следующий код:

define('WP_ALLOW_REPAIR', true);

После активации, появятся настройки к этой странице, на примере: http://AndreyEx.ru/wp-admin/maint/repair.php

Восстановление базы данных

Пользователю не нужно заходить на блог чтобы использовать данную функцию. Главная цель этой функции заключается восстановлении поврежденной БД. Пользователи зачастую не могут зайти на сайт, если БД повреждена. После восстановления и оптимизации БД, удалите вышеприведенный код из файла wp-config.php.

Увеличить лимит памяти в PHP

Существует распространенная ошибка в WordPress, как память исчерпана, которые пользователи видели при активации некоторых плагинов. Вы можете увеличить предел памяти PHP через wp-config.php файл. Просто вставьте код ниже:

define('WP_MEMORY_LIMIT', '64MB');

Примечание: Эта функция может не работать с некоторыми веб-хостами, так что вам лучше узнать у хоста о возможности увеличения лимита памяти PHP.

Журнал ошибок вордпресс

Для разработчиков, полезно также иметь журнал ошибок для сайта. Вы можете легко создать простой журнал ошибок на CMS WordPress с помощью файла wp-config.php. Для начала, создайте файл с именем “php_error.log”, дать уровень доступа на сервере — для записи, и поместить ее в папку по вашему выбору. Затем отредактируйте путь в третьей строке:

@ini_set('log_errors','On');

@ini_set('что display_errors','Off');

@ini_set('error_log','/home/path/domain/logs/php_error.log');

Начиная с WordPress 2.6, вы имеете возможность переместить каталог WP-content. Это способствует безопасности сайта. Вы можете сделать перемещение WP-сontent, добавив код в файл wp-config.php:

Переместит ваш каталог WP-content

define('WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'].'/blog/wp-content');

define('WP_CONTENT_URL', 'http://AndreyEx.ru/blog/wp-content');

define('WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'].'/blog/wp-content/plugins');

define('WP_PLUGIN_URL', 'http://AndreyEx.ru/blog/wp-content/plugins');

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

Изменение таблиц User / UserMeta

По умолчанию CMS WordPress размещает пользовательские данные в таблицах wp_users и wp_usermeta. Используя код ниже, можно указать в какой таблице вы хотите сохранять пользовательскую информацию.

define('CUSTOM_USER_TABLE', $table_prefix.'my_users');

define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');

Включить сеть мульти-сайтов

В WordPress 3.0, WPMU поместили в ядро Вордпресс. Для сетевой возможности, вы можете добавить код в файл wp-config.php.

define('WP_ALLOW_MULTISITE', true);

После того как вы добавите этот код, там появится новая страница в WP-admin называется “сеть”, которая будет расположена в Инструменты » сети.

Вы должны будете следовать инструкциям на этой странице для продолжения установки сети мульти-сайтов.

Защита своего файла WP-config

Этот файл является очень важным для работы блога, поэтому он нуждается в защите. По умолчанию он расположен в корне WordPress, вы можете переместить его. Вы можете переместить его за пределы своего каталога public_html. Вы также можете использовать .htaccess для ограничения доступа к этому файлу.

Добавьте нижеследующий код:

# Protect wp-config.php

<Files wp-config.php>

    order allow,deny

    deny from all

</Files>

Если у вас есть другие советы, которые мы можем добавить, обязательно дайте нам знать и мы добавим его в статью.



2015-06-27T08:30:32
CMS WordPress

Как пользоваться BleachBit

Если ваша операционная система установлена достаточно давно, скорее всего много места на диске занято всяким мусором таким как: кеши приложений (например кеш браузера), системные кеши (apt-cache), ненужные локальные файлы или другие временные файлы увеличивается в разы. С таким большим количеством источников файлов трудно отследить нужные файлы и очистить диск от мусора.

BleachBit — утилита с открытым исходным кодом для освобождения места на диске, доступная как для Linux так и для Windows пользователей. Кроме очистки диска BleachBit может выгружать файлы в облако и перезаписывать свободное место на жестком диске для удаления следов хранящихся там раньше файлов. В этой инструкции я расскажу как пользоваться BleachBit для освобождения места на диске.

Читать

Редактирование образов в Linux

Иногда возникает необходимость добавить, удалить или изменить файлы на iso образе. Например вы хотите добавить несколько треков на образ диска с музыкой или отредактировать параметры загрузки для Live CD. В Windows эта задача решалась очень просто, существует большое количество как известных так и не очень утилит с подобной функциональностью таких например Alcohol, UltraISO и т д. Но в Linux дела обстоят немного странным образом.

С одной стороны в Linux работа с образами дисков поддерживается на уровне системы, без каких либо дополнительных утилит, но с другой файловая система iso не поддерживает редактирование данных. Поэтому все операции по изменению содержимого образов сводятся к распаковке, редактированию и обратной упаковке образа. Из этой статьи вы узнаете как отредактировать ISO образ в Linux.

Читать

Использование awk в Linux

Текст это сердце Unix. Философия «все есть файл» полностью пронизывает всю систему и  разработанные для нее инструменты. Вот почему работа с текстом является одним из обязательных навыков не только системного администратора, но и обычного пользователя Linux, который хочет поглубже разобраться в этой операционной системе.

Команда awk — один из самых мощных инструментов для обработки и фильтрации текста, доступный даже для людей никак не связных с программированием. Это не просто утилита, а целый язык разработанный для обработки и извлечения данных. В этой статье мы разберемся как пользоваться awk.

Читать

Экранная клавиатура в Linux

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

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

Для Linux существует несколько виртуальных клавиатур: GOK (Gnome Onscreen Keyboard), kvkbd, onboard, Florence.

В этой инструкции я остановлюсь клавиатуре Gnome по умолчанию и Florence. У последней есть несколько преимуществ перед другими клавиатурами например: настраиваемая раскладка, несколько методов ввода и авто скрытие и т д. Также из этой инструкции вы узнаете как пользоваться Ubuntu только с помощью мыши.

Читать

Руководство для начинающих для вставки фрагментов php из интернета в WordPress

Сегодня мы научим вас правильно добавлять фрагменты кода в свой файл темы functions.php. Этот процесс довольно легок для специалистов PHP, но сложен для новых пользователей. Часто новички стремятся быстро написать код или вставить нужный код, но из-за нехватки знаний в PHP, порой приводит к поломке сайта. Это нормально, и если читаете эту статью, значит у вашего сайта проблемы, и мы хотим заверить вас, что Вы не один такой. Все мы совершали подобную ошибку как минимум по несколько раз. Сейчас мы расскажем вам, наиболее популярные ошибки и как избежать их при вставке кода из других источников и материалов в файл functions.php.

Примечание: не путайте файл functions.php расположенный в папке /wp-content/themes/yourthemename/ и файл ядра Wordpess functions.php находящийся в папке /wp-includes/.

Основной код семантики РНР пишется так:

//Это начальный тег

<?РНР

 

//Это конечный тег

?>

Основная причина, почему необходимо знать данный код происходит потому, что более 95% проблем которые мы исправили для наших пользователей, предполагают вставку кода в неположенном месте. Поэтому знание семантики РНР очень необходимо. Ниже описаны, по нашему мнению, наиболее популярные ошибки.

1-я распространенная ошибка

Владелец сайта вставляет код между тэгами PHP, как показано ниже, но вставляют его неверно.

<?php

add_filter( 'login_headerurl', 'Fcustom_logins_url' );

function Fcustom_logins_url($url) {

    return 'http://AndreyEx.ru';

}

?>

Пример кода functions.php (Примечание. Файл functions.php обычно имеет гораздо больший объем, но смысл тот же):

<?php

//смешивают код PHP с существующим здесь

	 

//Программер вставляет код который он нашёл в интернете

	 

<?php

add_filter( 'login_headerurl', 'Fcustom_logins_url' );

function Fcustom_logins_url($url) {

    return 'http://AndreyEx.ru';

}

?>

?>

Это будет явно ошибка на Вордпресс, потому что у вас уже есть начальный тег который который еще не закрыли. Есть два решения данной проблемы. Первый, вставляем элемент в правильном месте:

<?php

//смешивают код PHP с существующим здесь

	 

//Видите, как мы правильно закрыли тег PHP

?>

//Теперь можем открыть тег.

<?php

add_filter( 'login_headerurl', 'Fcustom_logins_url' );

function Fcustom_logins_url($url) {

    return 'http://AndreyEx.ru';

}

?>

Заметьте, насколько мы правильно вставили код после закрытия предыдущего.

Другой способ-просто удалить начальный и конечный теги с вашего нового кода. Так будет выглядеть:

<?php

//смешивают код PHP с существующим здесь

	 

// Новый код просто вставляется сюда (обратите внимание, что мы удалили начальный и конечный тег из вставленного кода)

	 

add_filter( 'login_headerurl', 'Fcustom_logins_url' );

function Fcustom_logins_url($url) {

    return 'http://AndreyEx.ru';

}

?>

2-я распространенная ошибка

У каждого учебника есть свой собственный стиль написания. Некоторые держат их в фрагментах, обматывают тегом PHP, которые вы видели выше. Другие не оборачивают свои фрагменты вокруг PHP-тегом. Это подводит нас к очередной проблемы. Пример:

function Fcustom_logins() {

echo '<style type="text/css">

h1 {background-image: url('.get_bloginfo('template_directory').'/images/logins.png) !important; }

</style>';

}

add_action('login_head', 'Fcustom_logins');

Автор исходит из того, что вы знаете, что этот код должен быть внутри тегов. Некоторые думают, что Вы разместите их код внизу вашего файла functions.php. Пример ошибки новичка:

<?php

//смешивают код PHP с существующим здесь

	?>

	 

//Затем пользователь вставляет код здесь (обратите внимание на PHP-теги которые уже закрыты выше):

	 

function Fcustom_logins() {

echo '<style type="text/css">

h1 a {background-image: url('.get_bloginfo('template_directory').'/images/logins.png) !important; }

</style>';

}

add_action('login_head', 'Fcustom_logins');

Если вы заметили, код вставлен вне тегов. Вордпресс не знает, что это за код, таким образом получается ошибка. Пример правильного кода:

<?php

//смешивают код PHP с существующим здесь

 

//Новый идет здесь

function Fcustom_logins() {

echo '<style type="text/css">

h1 {background-image: url('.get_bloginfo('template_directory').'/images/logins.png) !important; }

</style>';

}

add_action('login_head', 'Fcustom_logins');

	 

//PHP End Tag

?>

3-я распространенная ошибка

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

Устройство функции обычно выглядит так:

function Fcustom_function_name() { // это начальный

	 

// код функции идет здесь

	 

} // Это конечный тег

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

function Fcustom_name_function() { // здесь начальный тег

	 

	// код функции идет здесь

	 

function Fcustom_login() {

echo '<style type="text/css">

h1 {background-image: url('.get_bloginfo('template_directory').'/images/login.png) !important; }

</style>';

	}

add_action('login_head', 'Fcustom_login');

	 

} // Тут конечный тег

Вы не можете сделать это. Каждая функция являются независимой, поэтому нельзя ставить два вместе. Далее правильный код вставки:

function Fcustom_name_function() { // это начальный тег

	 

// код функции идет здесь

	 

	 

} // Это конечный тег

	 

function Fcustom_login() {

echo '<style type="text/css">

h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login.png) !important; }

</style>';

}

add_action('login_head', 'Fcustom_login');

Выше указанные три ошибки, вероятной причиной, почему ваша тема неисправна, после того как Вы дополнили фрагментом кода ваш файл functions.php

Другие Советы

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

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

Бывают случаи, когда вы сталкиваетесь с длинными фрагментами. Например, наш код формирования сниппета. Авторы имеют тенденцию объяснять код для их пользователей (который является хорошо), но он также приводит к ошибкам в коде. Так, мы делаем прокрутку вниз или вверх, чтобы получить окончательный фрагмент кода, а не собираем все воедино сами.

Узнаете ли вы эти ошибки? Как вы с ними справлялись? Были у вас ошибки, которые мы не упомянули выше? Если да, то поделитесь в комментариях с нами.

Руководство для начинающих для вставки php фрагментов из интернета в WordPress



2015-06-21T22:38:26
CMS WordPress