Web-разработка
11.08.2019
Плагин уже работает, но он еще далек от совершенства. Давайте доведем его до ума. Во-первых — напишем js-скрипт, который будет отправлять данные формы с использованием объекта XmlHttpRequest. Во-вторых — добавим простенькую защиту от роботов. Но перед этим оформим нашу форму с помощью стилей.
07.08.2019
Хорошо, форма для оформления заказа готова, правила для валидации полей заказа заданы. Осталось только сохранить в таблицу БД order введенные пользователем данные. Поскольку у нас поля created и updated должны сохранять текущую дату и время, добавим метод behaviors() для класса Order.
05.08.2019
В процессе загрузки WordPress происходит множество событий. К каждому из этих событий можно привязать функцию, которая выполнит какое-то действие (action) или изменит данные (filter). Отправка формы не является исключением — мы можем «прицепить» свою функцию к подходящему хуку и обработать POST-данные.
04.08.2019
Хорошо, теперь мы умеем загружать файлы как в панели управления, так и в публичной части. Но делаем это с перезагрузкой страницы, что выглядит совсем уж архаично. Давайте доработаем наш плагин так, чтобы он умел отправлять файлы с использованием объекта XmlHttpRequest. Изменения будут небольшие…
03.08.2019
Хорошо, в панели управления загружать файлы мы теперь умеем, посмотрим, как это можно сделать в публичной части. Во-первых, добавим шорткод, чтобы форму загрузки файлов можно было разместить на статической странице или в записи блога. Во-вторых, предоставим возможность загрузки файлов всем авторизованным пользователям.
31.07.2019
В WordPress есть множество функций, предназначенных для загрузки файлов. Сразу разобраться в них трудно — названия похожие и функционал часто дублируется. Рассмотрим последовательно все функции и попробуем загрузить файлы на сервер сначала в панели управления, а потом и в публичной части сайта.
29.07.2019
Давайте создадим плагин, у которого будет отдельная страница настроек в панели управления. И на этой странце будут не только поля для редактирования опций, но и будет еще одно поле — для загрузки файлов. Для этого нам потребуется добавить атрибут enctype для формы и установить для него значение multipart/form-data.
28.07.2019
Итак, корзина готова, можно приступать к оформлению заказа. Для хранения заказов создадим две таблицы в базе данных. Одну — для хранения всех заказов в магазине, другую — для хранения состава каждого заказа. Для каждой таблицы создадим модель, добавим класс контроллера с единственным действием и представление для действия.
27.07.2019
Давайте создадим плагин, который позволит зарегистрированным пользователям загружать медиа файлы. Чтобы не создавать свой загрузчик файлов, будем использовать файл async-upload.php, расположенный в папке wp-admin. Это стандартный скрипт WordPress для AJAX-загрузки медиа файлов, в нем есть все необходимые проверки прав доступа…
22.07.2019
Итак, мы уже знаем, как создавать новые опции и поля формы для их сохранения в базу данных. И умеем создавать страницу в панели управления для размещения полей формы. Но не умеем еще создавать форму, чтобы сохранить все настройки после отправки данных. Давайте посмотрим, как это можно сделать.