LibCoder

Разработка веб-приложений на WordPress: WordPress как фреймворк. 2 изд

1C Agda PHP
Разработка веб-приложений на WordPress: WordPress как фреймворк. 2 изд
Дата выхода: 2021
Издательство: БХВ-Петербург
Количество страниц: 530
Размер файла: 12,5 МБ
Тип файла: PDF
Добавил: LibCoder
Оглавление
Оглавление....6 Вступительное слово....16 Предисловие....18 Для кого предназначена эта книга....18 Для кого НЕ предназначена эта книга....19 Структура книги....19 О коде программ....21 Условные обозначения....21 Использование примеров программного кода....22 Благодарности....24 ГЛАВА 1. Создание веб-приложений с помощью WordPress....26 Что такое веб-сайт?....26 Что такое приложение?....26 Что такое веб-приложение?....26 Функции веб-приложения....27 Мобильные приложения....28 Прогрессивные веб-приложения....29 Зачем нужен WordPress?....30 Вы уже используете WordPress....30 С помощью WordPress легко управлять контентом....30 WordPress позволяет просто и безопасно управлять пользователями....31 Плагины....31 Гибкость важна....32 Частые обновления безопасности....32 Стоимость....33 Ответы на некоторые распространенные критические мнения о WordPress....33 Когда не следует использовать WordPress....36 Вы планируете лицензировать или продавать технологию своего сайта....36 Имеется другая платформа, которая приведет вас к цели быстрее....37 Гибкость не важна для вас....37 Ваше приложение должно работать в режиме реального времени....38 WordPress как фреймворк....38 WordPress и фреймворки Framework-View-Controller....39 Анатомия приложения WordPress....41 Что такое SchoolPress?....42 SchoolPress работает в многосайтовой сети WordPress....42 Бизнес-модель SchoolPress....42 Уровни участия и роли пользователей....43 Классы — это группы BuddyPress....43 Назначения — это СРТ....43 Представления (подтип) СРТ для назначений....44 Семестры являются таксономией для класса СРТ....44 Департаменты являются таксономией для класса СРТ....44 SchoolPress имеет один основной пользовательский плагин....44 В SchoolPress есть несколько других пользовательских плагинов....45 SchoolPress использует тему Memberlite....45 ГЛАВА 2. Основы WordPress....47 Структура каталогов WordPress....47 Корневой каталог....47 Структура базы данных WordPress....49 Таблица wp options....50 Функции в каталоге /wp-includes/option.php....50 Таблица wp_users....52 Функции в каталоге /wp-includes/....53 Таблица wp_usermeta....56 Таблица wp_posts....60 Функции в каталоге /wp-includes/post.php....61 Таблица wp_postmeta....65 Функции из каталога /wp-includes/post.php....65 Таблица wp comments....69 Функции в каталоге /wp-includes/comment.php....70 Таблица wpcommentsmeta....74 Функции из каталога /wp-includes/comment.php....74 Таблица wp_terms....76 Функции в каталоге /wp-includes/taxonomy.php....77 Таблица wptermmeta....80 Таблица wp term taxonomy....82 Функции в каталоге /wp-includes/taxonomy.php....82 Таблица wp_termrelationships....83 Хуки: события и фильтры....84 События....85 Фильтры....86 Среды разработки и хостинг....87 Работа локально....87 Выбор веб-хостинга....88 Среды разработки, интеграции и доставки....88 Расширение WordPress....89 ГЛАВА 3. Использование плагинов WordPress....90 General Public License, версия 2....91 Установка плагинов WordPress....91 Создание собственного плагина....92 Структура файла плагина приложения....93 Каталог /adminpages/....94 Каталог /classes/....95 Каталог /css/....95 Каталог /js/....96 Каталог /images/....97 Каталог /includes/....97 Каталог /includes/lib/....98 Каталог /pages/....98 Каталоги /services/ и /scheduled/....99 Файл schoolpress.php....99 Дополнения к существующим плагинам....100 Случаи из практики и примеры....100 Цикл WordPress....101 Глобальные переменные WordPress....101 Бесплатные плагины....112 Admin Columns....112 Advanced Custom Fields....112 BadgeOS....113 Posts 2 Posts....113 Members....114 W3 Total Cache....114 Yoast SEO....114 Премиальные плагины....115 Gravity Forms....115 BackupBuddy....115 WP All Import....116 Плагины сообщества....116 BuddyPress....116 ГЛАВА 4. Темы....129 Темы и плагины....129 Где разместить код при разработке приложений....129 Где разместить код при разработке плагинов....130 Где разместить код при разработке тем....130 Иерархия шаблонов....131 Шаблоны страниц....132 Образец шаблона страницы....132 Использование хуков для копирования шаблонов....135 Когда следует использовать шаблон темы?....137 Функции WordPress для работы с темами....137 Использование переменной locate template в плагинах....138 Файл style.css....140 Создание версий CSS-файлов вашей темы....141 Файл functions.php....142 Темы и СРТ....143 Популярные фреймворки для разработки тем....143 Фреймворки тем WordPress....143 Сторонние фреймворки тем....145 Создание дочерней темы для Memberlite....145 Включение Bootstrap в тему вашего приложения....146 Меню....147 Навигационные меню....148 Динамические меню....149 Адаптивный дизайн....149 Определение устройства и дисплея с помощью CSS....150 Определение устройств и их свойств в JavaScript....151 Определение устройства в РНР....154 Последнее замечание по определению браузера....158 ГЛАВА 5. Пользовательские типы записей, метаданные записей и таксономия....159 Типы сообщений по умолчанию и СРТ....159 Страница....159 Публикация....159 Вложение....159 Редакции....160 Элемент меню навигации....160 Пользовательский CSS....160 Наборы изменений....160 Кеш oEmbed....160 Пользовательские запросы....161 Повторно используемые блоки....161 Определение и регистрация СРТ....161 Функция register_post_type($post_type, $args)....162 Что такое таксономия и как ее использовать?....169 Таксономии и метаданные постов....170 Создание пользовательских таксономий....172 Функция register taxonomy(Staxonomy, Sobjecttype, $args)....172 Функция register taxonomy Jbr_object_type($taxonomy, $object_type)....175 Использование СРТ и таксономий в ваших темах и плагинах....176 Тема архива и файлы шаблона Single....176 Старый добрый класс WP Query и методов/_posts()....176 Метаданные и СРТ....180 Функция add_meta_box($id, Stitle, ^callback, $screen, Scontext, Spriority, Scallbackargs)....180 Использование метаблоков в редакторе блоков Block Editor....183 Пользовательские классы-оболочки для СРТ....184 Расширение класса WP Post в сравнении с созданием класса-обертки....187 Зачем нужны классы Wrapper?....187 Держите СРТ и таксономии вместе....187 Держите все в классе-обертке....189 Классы Wrapper читаются лучше....191 ГЛАВА 6. Пользователи, их роли и возможности....192 Получение данных пользователей....193 Добавляем, обновляем и удаляем пользователей....195 Хуки и фильтры....199 Что такое роли и возможности?....200 Проверка роли и возможностей пользователя....201 Создание собственных ролей и возможностей....203 Расширение класса WP User....205 Добавление полей регистрации и профиля....207 Настройка таблицы пользователей на административной панели....212 Плагины....214 Theme Му Login....214 Hide the Admin Bar....214 Paid Memberships Pro....214 PMPro Register Helper....215 Members....215 WP User Fields....216 ГЛАВА 7. Работа с API-интерфейсами WordPress, объектами и вспомогательными функциями....217 API шорткодов....217 Атрибуты шорткода....218 Вложенные шорткоды....219 Удаление шорткодов....220 Другие полезные функции, связанные с шорткодами....221 API виджетов....221 Прежде чем добавить свой собственный виджет....222 Добавление виджетов....222 Определение области виджета....226 Встраивание виджета вне динамической боковой панели....228 Удаление виджетов с панели инструментов....230 Добавление собственного виджета на панель инструментов....232 API настроек....235 Вам действительно нужна страница настроек?....235 Не могли бы вы использовать вместо этого хук или фильтр?....236 Учет стандартов при добавлении настроек....237 Игнорирование стандартов при добавлении настроек....238 API перезаписи....239 Добавление правил перезаписи....239 Сброс правил перезаписи....240 Другие функции перезаписи....241 Функция WP-Cron....244 Добавление своих интервалов....246 Планирование единичных событий....247 Запуск заданий Cron с сервера....247 Использование только серверного Cron....248 Функция WP Mail....249 Отправка более приятных писем с помощью WordPress....250 API заголовка файла....251 Добавление заголовков файлов в ваши собственные файлы....254 Добавление новых заголовков в плагины и темы....255 Heartbeat API....256 ГЛАВА 8. Безопасность в WordPress....261 Почему это важно....261 Основные меры безопасности....262 Регулярно выполняйте обновление....262 Не используйте имя пользователя «admin»....262 Выбирайте надежный пароль....262 Примеры плохих паролей....263 Примеры хороших паролей....263 Усиление защиты в WordPress....264 Запретите администраторам редактировать плагины и темы....264 Измените префикс таблиц базы данных....264 Переместите в другое место файл wp-config.php....265 Не отображайте сообщения об ошибках авторизации....266 Не отображайте номер версии WordPress....266 Исключите возможность авторизации через страницу wp-login.php....267 Добавьте в файл *.htaccess кастомные правила, блокирующие доступ к каталогу wp-admin....268 SSL-сертификаты и HTTPS....269 Установка SSL-сертификата на сервере....269 Авторизация и доступ к панели администратора WordPress по протоколу SSL....272 Отладка проблем с протоколом HTTPS....273 «Атомный» способ устранения ошибок протокола SSL....274 Резервируйте все!....276 Сканируйте, сканируйте и еще раз сканируйте!....276 Полезные плагин для обеспечения безопасности....277 Плагины для блокировки спама....277 Плагины для резервного копирования....277 Плагины-брандмауэры/сканеры....278 Плагины для защиты авторизации и пароля....279 Написание безопасного кода....279 Проверяйте полномочия пользователей....279 Кастомные инструкции SQL....281 Валидация, санация и экранирование данных....281 Одноразовые коды....285 ГЛАВА 9. JavaScript-фреймворки и рабочий процесс....292 Что такое ECMAScript?....293 Что такое ES6?....294 Что такое ES9?....294 Что такое ESNext?....294 Что такое Ajax?....294 Что такое JSON?....294 jQuery и WordPress....295 Подключение других JavaScript-библиотек....296 Где следует размещать кастомный JavaScript-код....297 Ajax-вызовы в WordPress с использованием jQuery....298 Управление количеством Ajax-запросов....303 Heartbeat API....305 Инициализация....305 Клиентский JavaScript-код....306 Серверный РНР-код....307 Инициализация....308 Клиентский JavaScript-код....309 Серверный РНР-код....310 Ограничения WordPress в плане асинхронной обработки....311 JavaScript-фреймворки....312 Backbone.js....312 React....313 ГЛАВА 10. REST API в WordPress....315 Что такое REST API?....315 API....315 REST....316 JSON....316 HTTP....316 Зачем нужен REST API в WordPress?....319 Использование WordPress REST API версии 2....321 Обнаружение....321 Аутентификация....321 Маршруты и конечные точки....327 Запросы....327 Ответы....329 Добавление собственных маршрутов и конечных точек....330 Функция register_rest_route($namespace, $route, $args, $override)....330 Настройка плагина WordPress Single Sign-On....331 Добавление маршрута /wp-sso/vl/check....331 Подключение к нашему плагину базовой аутентификации....333 Использование настроенной нами конечной точки для проверки учетных данных пользователя....334 Популярные плагины, использующие WordPress REST API....335 WooCommerce....336 BuddyPress....337 Paid Memberships Pro....339 ГЛАВА 11 Проект Gutenberg, блоки и кастомные типы блоков....343 Редактор системы WordPress....344 Плагин Classic Editor....345 Блоки для контента и дизайна....345 Блоки для представления функциональности....345 Создание собственных блоков....346 Пример простейшего блока....346 Использование кастомных блоков для разработки интерфейсов приложений....348 Активация редактора блоков для кастомных типов постов....348 Категории блоков....349 Блоки домашнего задания....350 Ограничение типа блоков до определенных кастомных типов постов....350 Ограничение кастомного типа постов до определенных блоков....351 Шаблоны блоков....352 Сохранение данных блока в метаданных поста....354 Советы....355 Активируйте режим отладки с помощью константы WP SCRIPT DEBUG....355 Задавайте версию скрипта с помощью функции filemtime()....356 Дополнительные советы....356 Глубже изучите JavaScript, Node.js и React....356 ГЛАВА 12. Многосайтовые сети в WordPress....358 Когда целесообразна многосайтовость?....358 Когда лучше отказаться от многосайтовости?....359 Альтернативы многосайтового режима....360 Множество авторов или категорий на одном и том же WordPress-сайте....360 Кастомные типы постов....360 Абсолютно самостоятельные сайты....361 Сервис обслуживания WordPress-сайтов....361 Мультиарендность....361 Настройка многосайтовой сети....361 Администрирование многосайтовой сети....364 Панель администратора....364 Сайты....364 Пользователи....365 Темы....366 Плагины....366 Настройки....366 Обновления....367 Структура базы данных многосайтовой сети....368 Общесетевые таблицы....368 Индивидуальные таблицы сайтов....370 Совместно используемые таблицы сайтов....371 Сопоставление доменов....371 Некоторые полезные плагины для многосайтового режима....372 Расширение User Registration для плагина Gravity Forms....373 Расширение Member Network Sites для плагина Paid Memberships Pro....373 Плагин More Privacy Options....373 Плагин Multisite Global Media....373 Плагин Multisite Plugin Manager....373 Плагин Multisite Global Search....374 Плагин Multisite Robots.txt Manager....374 Плагин NS Cloner: Site Copier....374 Плагин WP Multi Network....374 Основная функциональность многосайтовости....374 Переменная Sblogid....375 Функция is_multisite()....375 Функция get current_blog_id()....375 Функция switch to_blog($new blog)....376 Функция restore current_blog()....376 Функция get_blog_details($fields = null, Sgetall = true)....377 Функция update blog details($blog_id, Sdetails = array())....378 Функция get_blog_status($id, Spref)....379 Функция update_blog_status($blog_id, Spref $value)....379 Функция get_blog_option($id, Soption, Sdefault = false)....379 Функция update_blog_option($id, $option, Svalue)....380 Функция delete blog_option($id, Soption)....380 Функция get_blog_post($blog_id, Spostid)....380 Функция add_user_to_blog($blog_id, Suserid, Srole)....381 Функция wpmu delete user(Suser id)....381 Функция create empty blog (Sdomain, Spath, Sweblogtitle, Ssiteid = 1)....382 He упомянутые здесь функции....382 ГЛАВА 13. Локализация приложений WordPress....383 Нужна ли локализация вашему приложению?....383 Как выполняется локализация в WordPress....384 Определение локали в WordPress....384 Текстовые домены....385 Настройка текстового домена....385 Подготовка строк с помощью функций перевода....387 Функция____(Stext, $domain = "default")....388 Функция _e($text, Sdomain = "default")....388 Функция _x($text, Scontext, Sdomain =....389 Функция _ex($title, Scontext, Sdomain = "default”)....389 Сочетание перевода с экранированием....390 Создание и загрузка файлов перевода....390 Организация файлов локализации....391 Генерирование файла *.pot....391 Создание файла *.po....393 Создание файла *.mo....393 GlotPress....393 Использование GlotPress для ваших плагинов и тем в репозитории WordPress.org....394 Создание собственного сервера GlotPress....394 ГЛАВА 14. Оптимизация и масштабирование WordPress....395 Терминология....395 Источник или внешнее окружение?....397 Тестирование....397 Что следует тестировать....398 Панель отладки браузера Chrome....400 Инструмент Site Health системы WordPress....402 Apache Bench....403 Siege....410 W3 Total Cache....411 Настройки страничного кэширования....412 Минимизация....414 Кэширование базы данных....415 Объектное кэширование....415 Сети доставки контента....416 GZlP-сжатие....416 Хостинг....416 Хостинги, специально предназначенные для WordPress-сайтов....417 Развертывание собственного сервера....417 Выборочное кэширование....431 API для работы с транзиентами....432 Транзиенты в многосайтовом режиме....435 Повышение производительности с помощью JavaScript-кода....435 Кастомные таблицы....437 Действие в обход WordPress....439 ГЛАВА 15. Электронная коммерция....441 Выбор плагина....441 WooCommerce....441 Paid Memberships Pro....444 Easy Digital Downloads....445 Платежные системы....448 Торговые счета....449 Настройка модели SaaS с помощью Paid Memberships Pro....450 Модель SaaS....450 ГЛАВА 16. Мобильные приложения на платформе WordPress....465 Сценарии использования мобильных приложений....465 Нативные и гибридные мобильные приложения....466 Что такое нативное мобильное приложение?....466 Что такое гибридное мобильное приложение?....467 Почему стоит создавать гибридные приложения вместо нативных?....467 Cordova....468 Ionic Framework....472 Приложение-обертка....474 AppPresser....474 ГЛАВА 17. PHP-библиотеки, интеграция веб-сервисов и миграция с других платформ....489 РНР-библиотеки....489 Генерация и модификация изображений....490 Генерация PDF....492 Геолокация и геотаргетинг....495 Сжатие и архивация данных....497 Инструменты для разработки....501 Внешние API-интерфейсы и веб-сервисы....503 Elasticsearch....503 ElasticPress by 1 Oup....503 Google Vision....504 Google Maps....504 Google Translate....505 Twilio....505 Другие популярные API-интерфейсы....506 Миграция....507 Миграция между серверами....508 Миграция между платформами....509 Руководство по привязке данных....511 ГЛАВА 18. Взгляд в будущее....512 Оглядываясь назад....512 REST API....513 Плагины WordPress будут уделять больше внимания API-интерфейсам....513 «Обезглавленные» версии WordPress....513 GraphQL....514 Gutenberg....515 Интерфейс администратора перейдет на React/Gutenberg....515 Gutenberg будет применяться для редактирования контента на клиентской стороне WordPress....515 Шаблоны блоков заменят темы оформления....515 Блоки заменят плагины....516 Доля WordPress на рынке будет колебаться....516 WordPress станет более популярной платформой для мобильной разработки....517 WordPress будет оставаться хорошим выбором для разработки любого рода приложений....517 Об авторах....518 Предметный указатель....519

Описание

В этом материале разберём тему: wordpress.

Описана структура каталогов и базы данных, приведены типы записей, метаданных и таксономий, перечислены основные классы и функции. Подробно рассматривается создание веб-приложений на платформе WordPress, в том числе для мобильных устройств, принципы работы таких приложений. Уделено внимание разработке собственной темы оформления с адаптивным дизайном. Отдельная глава посвящена работе с API-интерфейсами, объектами и вспомогательными функциями, рассматриваются вопросы безопасности веб-приложений, принципы написания безопасного кода. Рассказывается о типах пользователей и их ролях в архитектуре WordPress. Изучается REST API в WordPress, JavaScript-фреймворки, способы локализации приложений. Рассматривается проект Gutenberg и его возможности. Описаны принципы построения многосайтовых сетей, оптимизации и масштабирования.

Во втором издании авторы рассматривают новые функции и возможности актуальных версий WordPress. Все примеры кода из книги доступны на веб-сервисе GitHub.

Сравните WordPress с традиционными средами разработки приложенийИспользуйте темы для настройки внешнего вида и плагины для обеспечения функциональности бэкендаПолучите советы по выбору и созданию плагинов WordPressРегистрируйте собственные типы записей (CPT) и таксономииУправляйте учетными записями, ролями пользователей и доступом к даннымНастраивайте асинхронное поведение с помощью jQueryИспользуйте WordPress для разработки мобильных приложений для iOS и AndroidИнтегрируйте библиотеки PHP, внешние API и плагины веб-сервисовПолучайте платежи с помощью плагинов eCommerce и membershipУзнайте, как ускорить и масштабировать приложение WordPressРасширьте WordPress REST API и создайте собственные конечные точки (custom endpoints)Узнайте о разработке блоков WordPress GutenbergДля кого эта книгаЭта книга будет наиболее полезна разработчикам WordPress, которые хотят работать над более сложными приложениями, и разработчикам PHP, имеющим некоторый опыт работы с WordPress, которые ищут фреймворк для приложений на основе PHP.

Разработчики коммерческих плагинов и тем, а также все, кто работает над крупными распределенными проектами WordPress, также сочтут полезными концепции и методы этой книги.

Вы также должны иметь базовые знания HTML и CSS и знакомы с запросами MySQL и SQL. Мы предполагаем, что читатели имеют представление о программировании на языке PHP. Базовое понимание программирования на JavaScript и jQuery поможет вам при прочтении главы 9.

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

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

Эта книга научит вас не программированию, а скорее тому, как программировать «в стиле WordPress».

На этом основные моменты по теме закрыты.

wordpress приложений книга плагины принципы работы функции темы

Частые вопросы

Можно ли скачать «Разработка веб-приложений на WordPress: WordPress как фреймворк. 2 изд» бесплатно?

Да, «Разработка веб-приложений на WordPress: WordPress как фреймворк. 2 изд» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.

В каком формате и какого размера файл?

Книга предоставляется в формате PDF, размер файла 12,5 МБ.

Кто автор и когда вышла книга?

автор — Коулман Джейсон , Мессенленер Брайан, издательство БХВ-Петербург, год выпуска 2021, 530 страниц.

О чём книга «Разработка веб-приложений на WordPress: WordPress как фреймворк. 2 изд»?

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

Похожие материалы