
В этой записи будет собираться информация о структуре WordPress в том или ином смысле. Структуре базы данных и таблиц в базе данных - зачем они и что в них храниться. Структуре папок, какие файлы в них находяться, предназначение этих файлов и каталогов. Список ролей, функций и прочее.
Информацию перенес из записи "WordPress заметки, хитрости и хаки", которая настолько разрослась, что ее нужно уже дробить.
Содержание
Роли в WordPress
- Администратор (Administrator) - абсолютный доступ к управлению темами, пользователями, плагинами, настройками, страницами, записями, категориями, комментариями, экспорт-импорт контента.
- Редактор (Editor) - редактирование, создание, удаление своего и чужого контента, модерация комментариев, редактирование категорий, удаление, редактирование, публикация своих и чужих страниц, записей, загрузка файлов.
- Автор (Author) - создание, редактирование, публикация и удаление только своего контента - записей. Не может создавать страницы. Имеет права на загрузку изображений, файлов и любых материалов.
- Участник (Contributor) - может добавлять новый контент - запись, без права публикации. Может редактировать и удалять свои черновики. Не может добавлять изображения к записи, только через использование HTML кода, в котором будет ссылка на изображение. Участники могут также видеть записи в консоли.
- Подписчик(Subscriber) - можно разрешить подписчикам видеть приватные записи и страницы без дополнительных плагинов или кода.
Структура таблиц в базе данных wordpress:
- wp_commentmeta – для метаданных комментариев
- wp_comments – комментарии
- wp_links – устарела; хранит информацию, введенную в раздел ссылок WordPress
- wp_options – все, что находится в разделе Параметры панели администратора, хранится в этой таблице, настройки сайта
- wp_postmeta – метаданные записей
- wp_posts – записи, страниц, их ревизии и навигационные пункты
- id - записи, страницы, ревизии
- post_author - id пользователя - автора.
- post_date - дата поста
- post_date_gmt - дата поста в GMT
- post_content - содержимое поста
- post_title - title поста
- post_excerpt – описание поста
- post_status – статус поста: publish, draft, auto-draft, inherit
- comment_status – "open" если комментирование поста разрешено и "closed" если запрещено.
- ping_status
- post_password - пароль для чтения поста, если он защищен паролем
- post_name - алиас поста, который будет использоваться в ЧПУ ссылках.
- to_ping
- pinged
- post_modified - дата последней модификации поста
- post_modified_gmt - дата последней модификации поста в GMT
- post_content_filtered
- post_parent - id родительской записи поста, если родителя нет, то значение 0
- guid – URL записи в виде http://elims.org.ua/?p=id для постов или http://elims.org.ua/category/test/name - для страниц
- menu_order – ноль для поста, порядковый номер страницы, используется для определения порядка вывода страниц
- post_type - тип записи, может быть: post - запись, page - страница, revision - сохраненная версия страницы или записи, attachment - медиа, например страница изображения
- post_mime_type
- comment_count - количество комментариев к посту
- wp_terms – в основном содержит информацию по термам/таксономиям (рубрика, рубрика ссылок, метка, меню)
- term_id - id терма (например категории)
- name - имя терма
- slug - как терм будет писаться в ссылке
- wp_term_relationships – отношения между записями и рубриками, метками и прочими таксономиями
- object_id - id записи, ссылки
- term_taxonomy_id - id рубрики или другого какого-либо терма таксономии (рубрика, рубрика ссылок, метка)
- term_order - используется для сортировки
- wp_term_taxonomy – описывает какого типа тот или иной терм
- term_taxonomy_id - id таксономии
- term_id - id терма
- taxonomy - тип таксономии: category, link_category, post_tag, nav_menu
- parent - родительский терм, если например категория вложена в категорию
- count - количество объектов (записей, ссылок) связанных с таксономией
- wp_usermeta – права пользователей и дополнительная информация о зарегистрированных пользователях
- wp_users – все пользователи
Структура файлов Wordpress
Корневой каталог содержит следующие папки и файлы папки:
- wp-config.php - в этом php файле прописаны имя и пароль базы данных, кодировка, префикс таблиц, язык, размер кеша, в файл можно добавить много других параметров.
- Файл .htaccess - файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах.
- wp-includes - ядро wordpress. При каждом обновлении папка перезаписывается.
- wp-admin - CSS, JavaScript и PHP файлы, которые обеспечивают работу админ-консоли. При каждом обновлении папка перезаписывается.
- wp-content - содержит пользовательские папки и состоит из папок:
- languages - содержит файлы перевода движка в формате .mo и .po
- plugins - установленные плагины
- themes - установленные шаблоны, должен быть установлен хотя-бы один шаблон. Может содержать следующие папки и файлы:
- index.php - шаблон главной страницы сайта, также подгружает файл сайдбара. Обязательный файл, в корне папки шаблона
- style.css - обязательный файл, отвечает за css-стили шаблона, в корне папки шаблона
- header.php – файл, отвечающий за вывод данных в разделе <head> и верхнего меню
- sidebar.php – файл отвечает за генерацию боковых (дополнительных) колонок. В основном тут виводятся рубрики, теги, банеры.
- footer.php – файл отвечает за вывод подвала, нижнего меню, копирайтов и закривает HTML-теги
- single.php – отвечает за отображение отдельных постов.
- page.php – отвечает за отображение отдельных страниц (например, «Контактв», «Про нас» и т.д.)
- archive.php – отвечает за вывод страницы архива записпей
- category.php – формирует страницы, которая выводит публикации по категориям
- tag.php – шаблон страницы, которая выводит список публикаций по тегам
- comments.php – файл описывает отображение комментариев
- functions.php – дополнительный файл с PHP-кодом, благодаря которому можно включать или отключать, добавлять или убирать определенный функционал. В этот файл часто добавляется пользовательский код, если нужно что-то усовершенствовать.
- /css/ - в этой папке могут находится дополнительные css-файлы
- /js/ – папка с файлами JavaScript
- /images/ - папка содержит встроенные в шаблон изображения
- /languages/ - папка содержит файлы переводов темы
- uploads - медиа-файлы: изображения, музка, документы и тд.
Теги шаблонов в WordPress
Теги шаблонов - это PHP-функции в WordPress для вывода информации или для настройки блога, например wp_list_pages() - выводит список страниц в виде ссылок.
Удобней по тегам шаблонов читать документацию на официальном сайте wordpress.
В самом wordpress теги шаблонов описаны в следующих файлах:
- wp-includes/author-template.php — теги шаблонов, связанные с автором
- wp-includes/bookmark-template.php — теги шаблонов, связанные с закладками
- wp-includes/category-template.php — теги шаблонов обо всех условиях и таксономии, в том числе категориях и тегах
- wp-includes/comment-template.php — файл для тегов шаблонов отдела комментариев
- wp-includes/link-template.php — теги шаблонов для ссылок (постоянные ссылки, ссылки прикрепления, архивные ссылки и т.д.)
- wp-includes/nav-menu-template.php — теги шаблонов для меню навигации
- wp-includes/post-template.php — теги шаблонов, связанные с постами
- wp-includes/post-thumbnail-template.php — файл для тегов шаблонов, связанных с миниатюрами записей
- wp-includes/general-template.php — файл для других тегов шаблонов, которые могут использоваться где угодно