Оглавление
WordPress
Самая распространённая система управления сайтом: темы, плагины, хуки, свои типы записей и REST API.
1.Начало работы
- Знакомство с WordPressЧто такое WordPress, как его установить, из чего состоит сайт, где лежат темы и плагины и как включить режим отладки.
- Своя темаСоздание темы WordPress с нуля: файлы style.css и index.php, заголовок темы, functions.php и подключение возможностей через add_theme_support.
- Цикл WordPressГлавный цикл WordPress: have_posts и the_post, функции вывода заголовка, текста, даты и картинки, отличие the_ от get_ и постраничный вывод.
- Иерархия шаблоновКак WordPress выбирает файл шаблона: single.php, page.php, archive.php, 404.php, шаблоны для отдельных страниц и условные функции.
- Шапка, подвал и части шаблоновОбщие части темы WordPress: header.php и footer.php, get_template_part с аргументами, меню и области виджетов.
2.Разработка
- Хуки: действия и фильтрыХуки WordPress: add_action и add_filter, приоритет и число аргументов, удаление чужих обработчиков и собственные хуки.
- Свой плагинСоздание плагина WordPress: файл с заголовком, защита от прямого вызова, хуки активации и удаления, пути к файлам и уникальные имена.
- Стили и скриптыПодключение CSS и JavaScript в WordPress: wp_enqueue_style и wp_enqueue_script, зависимости, версии, передача данных в скрипт и подключение по условию.
- Свои типы записей и таксономииПроизвольные типы записей WordPress: register_post_type, настройки и поддерживаемые поля, свои таксономии и шаблоны для нового типа.
- Произвольные поляМетаданные записей WordPress: get_post_meta и update_post_meta, своё поле в редакторе через add_meta_box, безопасное сохранение и плагин ACF.
- Свои запросы: WP_QueryКласс WP_Query: выборка записей по типу, рубрике, таксономии и произвольным полям, второй цикл на странице и изменение основного запроса.
- Шорткоды и блокиВставки в текст записи WordPress: шорткоды с атрибутами и содержимым, блоки редактора Gutenberg, динамические блоки и готовые макеты.
3.Приложение
- Настройки и страницы панелиНастройки WordPress: функции get_option и update_option, своя страница в панели управления, Settings API с проверкой значений.
- База данных и $wpdbБаза данных WordPress: основные таблицы, объект $wpdb, подготовленные запросы, вставка и изменение строк, своя таблица через dbDelta.
- БезопасностьБезопасный код для WordPress: экранирование вывода, очистка ввода, одноразовые токены nonce, проверка прав и защита файлов.
- REST APIREST API WordPress: встроенные адреса wp-json, свой маршрут через register_rest_route, параметры, права доступа и запросы из JavaScript.
- AJAX-запросыAJAX в WordPress: обработчики wp_ajax и wp_ajax_nopriv, файл admin-ajax.php, проверка токена, ответ wp_send_json и запрос из JavaScript.
- Пользователи, роли и праваПользователи WordPress: встроенные роли, проверка прав current_user_can, текущий пользователь, свои роли и права, данные пользователя.
4.Развитие проекта
- Дочерние темыДочерняя тема WordPress: как изменить чужую тему и не потерять правки при обновлении, замена шаблонов и свой functions.php.
- Перевод темы и плагинаПеревод в WordPress: функции __ и _e, текстовый домен, подстановка значений, множественное число, файлы .pot, .po и .mo.
- Кеш и задачи по расписаниюСкорость и фоновые задачи в WordPress: транзиенты для временного кеша, объектный кеш, расписание WP-Cron и настоящий cron сервера.
- WP-CLI и размещение на сервереУправление WordPress из терминала через WP-CLI, перенос сайта на сервер, замена адресов в базе и настройки рабочего сайта.