Внимание! Ведётся запись. В статью. | Последнее изменение: 04.09.2011 16:16 |
Борьба с вордпрессом продолжается. Часть кода этого сайта переписана, часть даже — несколько раз.
Собран достаточно неплохой багаж знаний о движке. Причём, какую-то информацию пытался найти в интернете, но не нашёл и в итоге разбирался самостоятельно. Например, в структуре базы движка. Или в способе шифрования паролей — то, что в инете гордо называют «md5 (Wordpress)», хотя md5 к вордпрессовским хэшам имеет лишь косвенное отношение.
Толчком к оформлению всего этого в виде отдельной записи послужило письмо:
Доброго времени суток. Меня зовут Денис, хотелось бы узнать как расширить функционал движка Wordpress. В инете толком ничего не нашёл, рекомендации поставить какие-то плагины или создать home.php читал. Хотелось бы ручками нормально прописать и привести блог в лучший вид. Например ресайз основной области контента как сделать? Если у Вас найдётся пара свободных минут, напишите пожалуйста. Заранее спасибо.
Итак:
- Эта запись будет постоянно модифицироваться. Предупреждение об этом и дата последнего изменения находится в шапке.
- То, с чем уже разобрался — буду постепенно выкладывать. По ходу процесса и по мере возможностей.
- Под это дело создана рубрика «♼REC», в которой будут находиться постоянно обновляемые/дополняемые статьи.
- Приветствуются комментарии с вопросами или информацией.
Поехали.
WordPress — система управления содержимым сайта (CMS) с открытым исходным кодом, распространяемая под GNU GPL. Написана на PHP, в качестве базы данных использует MySQL. Сфера применения — от блогов до достаточно сложных новостных ресурсов и даже интернет-магазинов. Встроенная система «тем» и «плагинов» вместе с удачной архитектурой позволяет конструировать практически любые проекты. WordPress выпущен под лицензией GPL версии 2.
http://ru.wikipedia.org/wiki/Wordpress
Распространение по лицензии GNU GPL подразумевает, что нам дают все исходники вордпресса и позволяют как угодно их модифицировать. Однако, если мы решим раздавать/продавать производный от вордпресса продукт, мы обязаны будем делать это с точно такими же условиями. То есть, предоставлять исходники и позволять их модифицировать.
Эдакая «вирусная» свобода. Единственный реальный (работающий!) способ защититься от коммерсов.
Установка
Весь вордпресс представляет собой набор PHP файлов (плюс стили и необязательный жаваскрипт), которые будут работать на стороне сервера. Процедура установки в деталях описана здесь, поэтому останавливаться на ней нет смысла.
Нюансы
1. Ваш провайдер может не контролировать права к созданным на сервере файлам, поэтому удостоверьтесь, что полные права есть только у владельца хостинга, а у всех остальных — только на чтение. На линуксовом хостинге это, соответственно, 755 на каталоги и 644 на файлы.
2. Храните данные в кодировке UTF-8, это поможет избежать многих неприятностей с «нечитаемыми символами».
3. Для пущей безопасности после установки можно удалить с сервера файл wp-admin/install.php
. Он уже отработал и больше не нужен.
Работа
Все http-запросы к вордпрессу обрабатываются индексным файлом index.php
в его корне. Этот файл цепляет все необходимые скрипты, обрабатывает строку запроса и на основе результатов этой обработки отдаёт пользователю ту или иную веб-страницу.
Перенаправление всех запросов в индексный файл осуществляется с помощью настроечного файла веб-сервера .htaccess
, который также находится в корне. Вот пример его содержимого:
AddDefaultCharset UTF-8 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Строку «AddDefaultCharset UTF-8
» вордпресс не устанавливает. Это указание веб-серверу выдавать страницы в кодировке UTF-8.
Структура каталогов и файлов
Структура неполная, только самое важное.
![]() ![]() |
Админка и файлы для авторизации зарегистрированных пользователей. |
---|---|
![]() ![]() |
Структура сайта (дизайн), языки и плагины. |
![]() ![]() |
Темы, распределённые по каталогам. Каждый каталог является отдельным шаблоном дизайна сайта. |
![]() ![]() |
Все дополнительные подключаемые компоненты: классы, функции, скрипты и стили. | ![]() |
Коннектор к базе и другие настройки. Должен быть переименован в wp-config.php | ![]() |
Авторизация на сайте. | ![]() |
![]() |
Комментарии
TRIZER
#cid11945
Ответить
здесь либо ошибка в предложении либо я не знал что яваскрипты исполняются на стороне сервера
#cid11952
Ответить
Там скобки стоят.
По правилам русского языка скобками ограничивается дополнительная информация, которую можно опустить без потери смысла предложения. То есть, предложение должно читаться без содержимого в скобках.