دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [2-е изд., перераб. и доп.]
نویسندگان: Брайан Мессенленер. Джейсон Коулман
سری:
ISBN (شابک) : 9785977567534
ناشر: БХВ-Петербург
سال نشر: 2021
تعداد صفحات: 527 с.
[529]
زبان: Russian
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 37 Mb
در صورت تبدیل فایل کتاب Разработка веб-приложений на WordPress: WordPress как фреймворк : перевод с английского به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب توسعه برنامه وب وردپرس: وردپرس به عنوان یک چارچوب نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Оглавление Вступительное слово Предисловие Для кого предназначена эта книга Для кого НЕ предназначена эта книга Структура книги О коде программ Условные обозначения Использование примеров программного кода Благодарности ГЛАВА 1. Создание веб-приложений с помощью WordPress Что такое веб-сайт? Что такое приложение? Что такое веб-приложение? Функции веб-приложения Мобильные приложения Прогрессивные веб-приложения Зачем нужен WordPress? Вы уже используете WordPress С помощью WordPress легко управлять контентом WordPress позволяет просто и безопасно управлять пользователями Плагины Гибкость важна Частые обновления безопасности Стоимость Ответы на некоторые распространенные критические мнения о WordPress Когда не следует использовать WordPress Вы планируете лицензировать или продавать технологию своего сайта Имеется другая платформа, которая приведет вас к цели быстрее Гибкость не важна для вас Ваше приложение должно работать в режиме реального времени WordPress как фреймворк WordPress и фреймворки Framework-View-Controller Анатомия приложения WordPress Что такое SchoolPress? SchoolPress работает в многосайтовой сети WordPress Бизнес-модель SchoolPress Уровни участия и роли пользователей Классы — это группы BuddyPress Назначения — это СРТ Представления (подтип) СРТ для назначений Семестры являются таксономией для класса СРТ Департаменты являются таксономией для класса СРТ SchoolPress имеет один основной пользовательский плагин В SchoolPress есть несколько других пользовательских плагинов SchoolPress использует тему Memberlite ГЛАВА 2. Основы WordPress Структура каталогов WordPress Корневой каталог Структура базы данных WordPress Таблица wp options Функции в каталоге /wp-includes/option.php Таблица wp_users Функции в каталоге /wp-includes/ Таблица wp_usermeta Таблица wp_posts Функции в каталоге /wp-includes/post.php Таблица wp_postmeta Функции из каталога /wp-includes/post.php Таблица wp comments Функции в каталоге /wp-includes/comment.php Таблица wpcommentsmeta Функции из каталога /wp-includes/comment.php Таблица wp_terms Функции в каталоге /wp-includes/taxonomy.php Таблица wptermmeta Таблица wp term taxonomy Функции в каталоге /wp-includes/taxonomy.php Таблица wp_termrelationships Хуки: события и фильтры События Фильтры Среды разработки и хостинг Работа локально Выбор веб-хостинга Среды разработки, интеграции и доставки Расширение WordPress ГЛАВА 3. Использование плагинов WordPress General Public License, версия 2 Установка плагинов WordPress Создание собственного плагина Структура файла плагина приложения Каталог /adminpages/ Каталог /classes/ Каталог /css/ Каталог /js/ Каталог /images/ Каталог /includes/ Каталог /includes/lib/ Каталог /pages/ Каталоги /services/ и /scheduled/ Файл schoolpress.php Дополнения к существующим плагинам Случаи из практики и примеры Цикл WordPress Глобальные переменные WordPress Бесплатные плагины Admin Columns Advanced Custom Fields BadgeOS Posts 2 Posts Members W3 Total Cache Yoast SEO Премиальные плагины Gravity Forms BackupBuddy WP All Import Плагины сообщества BuddyPress ГЛАВА 4. Темы Темы и плагины Где разместить код при разработке приложений Где разместить код при разработке плагинов Где разместить код при разработке тем Иерархия шаблонов Шаблоны страниц Образец шаблона страницы Использование хуков для копирования шаблонов Когда следует использовать шаблон темы? Функции WordPress для работы с темами Использование переменной locate template в плагинах Файл style.css Создание версий CSS-файлов вашей темы Файл functions.php Темы и СРТ Популярные фреймворки для разработки тем Фреймворки тем WordPress Сторонние фреймворки тем Создание дочерней темы для Memberlite Включение Bootstrap в тему вашего приложения Меню Навигационные меню Динамические меню Адаптивный дизайн Определение устройства и дисплея с помощью CSS Определение устройств и их свойств в JavaScript Определение устройства в РНР Последнее замечание по определению браузера ГЛАВА 5. Пользовательские типы записей, метаданные записей и таксономия Типы сообщений по умолчанию и СРТ Страница Публикация Вложение Редакции Элемент меню навигации Пользовательский CSS Наборы изменений Кеш oEmbed Пользовательские запросы Повторно используемые блоки Определение и регистрация СРТ Функция register_post_type($post_type, $args) Что такое таксономия и как ее использовать? Таксономии и метаданные постов Создание пользовательских таксономий Функция register taxonomy(Staxonomy, Sobjecttype, $args) Функция register taxonomy Jbr_object_type($taxonomy, $object_type) Использование СРТ и таксономий в ваших темах и плагинах Тема архива и файлы шаблона Single Старый добрый класс WP Query и методов/_posts() Метаданные и СРТ Функция add_meta_box($id, Stitle, ^callback, $screen, Scontext, Spriority, Scallbackargs) Использование метаблоков в редакторе блоков Block Editor Пользовательские классы-оболочки для СРТ Расширение класса WP Post в сравнении с созданием класса-обертки Зачем нужны классы Wrapper? Держите СРТ и таксономии вместе Держите все в классе-обертке Классы Wrapper читаются лучше ГЛАВА 6. Пользователи, их роли и возможности Получение данных пользователей Добавляем, обновляем и удаляем пользователей Хуки и фильтры Что такое роли и возможности? Проверка роли и возможностей пользователя Создание собственных ролей и возможностей Расширение класса WP User Добавление полей регистрации и профиля Настройка таблицы пользователей на административной панели Плагины Theme Му Login Hide the Admin Bar Paid Memberships Pro PMPro Register Helper Members WP User Fields ГЛАВА 7. Работа с API-интерфейсами WordPress, объектами и вспомогательными функциями API шорткодов Атрибуты шорткода Вложенные шорткоды Удаление шорткодов Другие полезные функции, связанные с шорткодами API виджетов Прежде чем добавить свой собственный виджет Добавление виджетов Определение области виджета Встраивание виджета вне динамической боковой панели Удаление виджетов с панели инструментов Добавление собственного виджета на панель инструментов API настроек Вам действительно нужна страница настроек? Не могли бы вы использовать вместо этого хук или фильтр? Учет стандартов при добавлении настроек Игнорирование стандартов при добавлении настроек API перезаписи Добавление правил перезаписи Сброс правил перезаписи Другие функции перезаписи Функция WP-Cron Добавление своих интервалов Планирование единичных событий Запуск заданий Cron с сервера Использование только серверного Cron Функция WP Mail Отправка более приятных писем с помощью WordPress API заголовка файла Добавление заголовков файлов в ваши собственные файлы Добавление новых заголовков в плагины и темы Heartbeat API ГЛАВА 8. Безопасность в WordPress Почему это важно Основные меры безопасности Регулярно выполняйте обновление Не используйте имя пользователя «admin» Выбирайте надежный пароль Примеры плохих паролей Примеры хороших паролей Усиление защиты в WordPress Запретите администраторам редактировать плагины и темы Измените префикс таблиц базы данных Переместите в другое место файл wp-config.php Не отображайте сообщения об ошибках авторизации Не отображайте номер версии WordPress Исключите возможность авторизации через страницу wp-login.php Добавьте в файл *.htaccess кастомные правила, блокирующие доступ к каталогу wp-admin SSL-сертификаты и HTTPS Установка SSL-сертификата на сервере Авторизация и доступ к панели администратора WordPress по протоколу SSL Отладка проблем с протоколом HTTPS «Атомный» способ устранения ошибок протокола SSL Резервируйте все! Сканируйте, сканируйте и еще раз сканируйте! Полезные плагин для обеспечения безопасности Плагины для блокировки спама Плагины для резервного копирования Плагины-брандмауэры/сканеры Плагины для защиты авторизации и пароля Написание безопасного кода Проверяйте полномочия пользователей Кастомные инструкции SQL Валидация, санация и экранирование данных Одноразовые коды ГЛАВА 9. JavaScript-фреймворки и рабочий процесс Что такое ECMAScript? Что такое ES6? Что такое ES9? Что такое ESNext? Что такое Ajax? Что такое JSON? jQuery и WordPress Подключение других JavaScript-библиотек Где следует размещать кастомный JavaScript-код Ajax-вызовы в WordPress с использованием jQuery Управление количеством Ajax-запросов Heartbeat API Инициализация Клиентский JavaScript-код Серверный РНР-код Инициализация Клиентский JavaScript-код Серверный РНР-код Ограничения WordPress в плане асинхронной обработки JavaScript-фреймворки Backbone.js React ГЛАВА 10. REST API в WordPress Что такое REST API? API REST JSON HTTP Зачем нужен REST API в WordPress? Использование WordPress REST API версии 2 Обнаружение Аутентификация Маршруты и конечные точки Запросы Ответы Добавление собственных маршрутов и конечных точек Функция register_rest_route($namespace, $route, $args, $override) Настройка плагина WordPress Single Sign-On Добавление маршрута /wp-sso/vl/check Подключение к нашему плагину базовой аутентификации Использование настроенной нами конечной точки для проверки учетных данных пользователя Популярные плагины, использующие WordPress REST API WooCommerce BuddyPress Paid Memberships Pro ГЛАВА 11 Проект Gutenberg, блоки и кастомные типы блоков Редактор системы WordPress Плагин Classic Editor Блоки для контента и дизайна Блоки для представления функциональности Создание собственных блоков Пример простейшего блока Использование кастомных блоков для разработки интерфейсов приложений Активация редактора блоков для кастомных типов постов Категории блоков Блоки домашнего задания Ограничение типа блоков до определенных кастомных типов постов Ограничение кастомного типа постов до определенных блоков Шаблоны блоков Сохранение данных блока в метаданных поста Советы Активируйте режим отладки с помощью константы WP SCRIPT DEBUG Задавайте версию скрипта с помощью функции filemtime() Дополнительные советы Глубже изучите JavaScript, Node.js и React ГЛАВА 12. Многосайтовые сети в WordPress Когда целесообразна многосайтовость? Когда лучше отказаться от многосайтовости? Альтернативы многосайтового режима Множество авторов или категорий на одном и том же WordPress-сайте Кастомные типы постов Абсолютно самостоятельные сайты Сервис обслуживания WordPress-сайтов Мультиарендность Настройка многосайтовой сети Администрирование многосайтовой сети Панель администратора Сайты Пользователи Темы Плагины Настройки Обновления Структура базы данных многосайтовой сети Общесетевые таблицы Индивидуальные таблицы сайтов Совместно используемые таблицы сайтов Сопоставление доменов Некоторые полезные плагины для многосайтового режима Расширение User Registration для плагина Gravity Forms Расширение Member Network Sites для плагина Paid Memberships Pro Плагин More Privacy Options Плагин Multisite Global Media Плагин Multisite Plugin Manager Плагин Multisite Global Search Плагин Multisite Robots.txt Manager Плагин NS Cloner: Site Copier Плагин WP Multi Network Основная функциональность многосайтовости Переменная Sblogid Функция is_multisite() Функция get current_blog_id() Функция switch to_blog($new blog) Функция restore current_blog() Функция get_blog_details($fields = null, Sgetall = true) Функция update blog details($blog_id, Sdetails = array()) Функция get_blog_status($id, Spref) Функция update_blog_status($blog_id, Spref $value) Функция get_blog_option($id, Soption, Sdefault = false) Функция update_blog_option($id, $option, Svalue) Функция delete blog_option($id, Soption) Функция get_blog_post($blog_id, Spostid) Функция add_user_to_blog($blog_id, Suserid, Srole) Функция wpmu delete user(Suser id) Функция create empty blog (Sdomain, Spath, Sweblogtitle, Ssiteid = 1) He упомянутые здесь функции ГЛАВА 13. Локализация приложений WordPress Нужна ли локализация вашему приложению? Как выполняется локализация в WordPress Определение локали в WordPress Текстовые домены Настройка текстового домена Подготовка строк с помощью функций перевода Функция____(Stext, $domain = "default") Функция _e($text, Sdomain = "default") Функция _x($text, Scontext, Sdomain = Функция _ex($title, Scontext, Sdomain = "default”) Сочетание перевода с экранированием Создание и загрузка файлов перевода Организация файлов локализации Генерирование файла *.pot Создание файла *.po Создание файла *.mo GlotPress Использование GlotPress для ваших плагинов и тем в репозитории WordPress.org Создание собственного сервера GlotPress ГЛАВА 14. Оптимизация и масштабирование WordPress Терминология Источник или внешнее окружение? Тестирование Что следует тестировать Панель отладки браузера Chrome Инструмент Site Health системы WordPress Apache Bench Siege W3 Total Cache Настройки страничного кэширования Минимизация Кэширование базы данных Объектное кэширование Сети доставки контента GZlP-сжатие Хостинг Хостинги, специально предназначенные для WordPress-сайтов Развертывание собственного сервера Выборочное кэширование API для работы с транзиентами Транзиенты в многосайтовом режиме Повышение производительности с помощью JavaScript-кода Кастомные таблицы Действие в обход WordPress ГЛАВА 15. Электронная коммерция Выбор плагина WooCommerce Paid Memberships Pro Easy Digital Downloads Платежные системы Торговые счета Настройка модели SaaS с помощью Paid Memberships Pro Модель SaaS ГЛАВА 16. Мобильные приложения на платформе WordPress Сценарии использования мобильных приложений Нативные и гибридные мобильные приложения Что такое нативное мобильное приложение? Что такое гибридное мобильное приложение? Почему стоит создавать гибридные приложения вместо нативных? Cordova Ionic Framework Приложение-обертка AppPresser ГЛАВА 17. PHP-библиотеки, интеграция веб-сервисов и миграция с других платформ РНР-библиотеки Генерация и модификация изображений Генерация PDF Геолокация и геотаргетинг Сжатие и архивация данных Инструменты для разработки Внешние API-интерфейсы и веб-сервисы Elasticsearch ElasticPress by 1 Oup Google Vision Google Maps Google Translate Twilio Другие популярные API-интерфейсы Миграция Миграция между серверами Миграция между платформами Руководство по привязке данных ГЛАВА 18. Взгляд в будущее Оглядываясь назад REST API Плагины WordPress будут уделять больше внимания API-интерфейсам «Обезглавленные» версии WordPress GraphQL Gutenberg Интерфейс администратора перейдет на React/Gutenberg Gutenberg будет применяться для редактирования контента на клиентской стороне WordPress Шаблоны блоков заменят темы оформления Блоки заменят плагины Доля WordPress на рынке будет колебаться WordPress станет более популярной платформой для мобильной разработки WordPress будет оставаться хорошим выбором для разработки любого рода приложений Об авторах Предметный указатель