Внимание! Ведётся запись. В статью. Последнее изменение: 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-admin Админка и файлы для авторизации зарегистрированных пользователей.
wp-content Структура сайта (дизайн), языки и плагины.
themes Темы, распределённые по каталогам. Каждый каталог является отдельным шаблоном дизайна сайта.
wp-includes Все дополнительные подключаемые компоненты: классы, функции, скрипты и стили.
wp-config-simple.php Коннектор к базе и другие настройки. Должен быть переименован в wp-config.php
wp-login.php Авторизация на сайте.
wp-settings.php
[...]

TRIZER
2012.01.02 20:00:25
#cid11945

Ответить

Весь вордпресс представляет собой набор PHP файлов (плюс стили и необязательный жаваскрипт), которые будут работать на стороне сервера.

здесь либо ошибка в предложении либо я не знал что яваскрипты исполняются на стороне сервера

2012.01.02 20:51:09
#cid11952

Ответить

здесь либо ошибка в предложении либо я не знал что яваскрипты исполняются на стороне сервера

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