Дополнительное поле для загрузки файла WordPress

0
388

Если Вам необходимо создать дополнительное поле для загрузки файла в WordPress, например, файлов .pdf или .doc, прошу под кат.

Первым делом нужно зарегистрировать новую дополнительную зону и дополнительное поле в файле functions.php вашей темы. Открываем файл и пишем следующее:

Новая дополнительная зона зарегистрирована, теперь нужно определить какие поля будут в ней присутствовать, т.к. в данном случае мы разбираем только поле для загрузки файла, то укажем его и для разнообразия добавим еще одно поле типа select список, чтобы Вы понимали как работает функция отображения полей. Обозначим дополнительные поля в массиве, где мы укажем их идентификатор, тип и название:

В качестве примера для списка select я выбрал два значения — отображать файл в записи — да или нет. В дальнейшем это можно будет использовать, например, чтобы показывать файл только зарегистрированным пользователям, но это для примера. Следующим этапом будет создание функции для отображения дополнительных полей. Кратко объясню как она работает. С помощью цикла foreach мы проходим по созданному ранее массиву, в котором мы указали какие поля нам нужны и проверяя значение type через конструкцию switch-case отображаем соответствующую форму в соответствии с её типом. Так выглядит наша функция отображения дополнительных полей:

Как вы видите, в теле конструкции switch-case проверяется тип поля, т.к. у нас имеется два типа поля — файл и список select, то мы определяем их и отображаем их структуру.

Дополнительно: если вы собираетесь добавлять и другие типы полей, то ниже предоставлены практически все варианты типов для конструкции switch-case:

После того, как мы вывели наши поля на сайт в панели добавления записи вы увидите их:

Поле загрузки файла WordPress

Предпоследним шагом будет создание функции сохранения данных, она выглядит следующим образом:

Последним этапом будет создание javascript файла, который будет вызывать модальное окно для добавления нового файла. В директории Вашей темы создайте файл newmeta.js (можно разместить в любой папке темы, главное знать путь к файлу) и подключите этот файл через functions.php:

Добавьте следующий код в файл newmeta:

Данный код будет вызывать окно для загрузки файла и позволит кнопке "Добавить файл" работать должным образом. Теперь при клике на кнопку будет появляться такое окно:

Поле загрузки файла WordPress

После того, как вы выберите необходимый файл, форма будет выглядить так:

Поле загрузки файла WordPress

Заключение

Думаю, что данный материал полезен и упрощает многие задачи, также не забывайте, что на сайте есть еще много подобного материала, где разбираются самые разные типы дополнительных полей. Кроме того, есть серия статей посвященная созданию своего собственного типа записи со своими дополнительными полями и категориями:

Создание дополнительных полей:

Создание собственного типа записи с дополнительными полями:

ОСТАВЬТЕ ОТВЕТ

Пожалуйста оставьте комментарий!
Введите ваше имя