Произвольные поля WordPress (WP) отображаются в различных формах и размерах. Некоторые включают флажки и списки. Другие могут поставляться со средством выбора даты. Есть и такие, которые принимают только определенные символы, например, числа. Как и большинство функций WP, добавляют их к сообщениям и страницам через плагин или вручную без плагина произвольных полей WordPress. В англоязычной литературе этот термин имеет название «пользовательские поля».
О платформе WordPress
WordPress (WP) - это лучшая платформа с открытым исходным кодом для быстрого создания блогов. Его популярность и сила - это сообщество Custom Fields, которое участвовало в интенсивном развитии проекта и занимало лидирующие позиции в CMS в течение последних 15 лет.
Вам будет интересно:Коммутатор Cisco 2960: настройка подключения, конфигурации, установка
В настоящее время WP является самой популярной CMS в мире, которая поддерживает около 30% веб-сайтов. Эта статистика касается только публичных сайтов. Существует также большое количество безучетных сайтов, например, частные сайты, количество которых никто точно не знает. Результат многолетней истории развития бренда – это возможности для многомиллионных пользователей с базой в 45 000 плагинов и порядком 6000 тем, официально опубликованных на сайте WordPress.
Еще одной причиной, почему WP интересует владельцев новостных сайтов, портфолио бронирования отелей или электронной коммерции, являются произвольные поля WordPress и архитектура метаданных.
Вам будет интересно:Программа BPwin - это что такое?
В WordPress существуют основные типы объектов: «пост», «пользователь», «комментарий», «таксономия» и «медиа». Они содержат только необходимые поля, предоставленные WP для их описания. Например, заголовок для продукта или сообщения, имя пользователя и название категории.
Произвольные метаданные
В БД все это выражается в соответствующих таблицах для объектов и произвольных полей WordPress. Можно интерпретировать метаданные как произвольные (мета), прикрепленные к первичным данным. Они предоставляют дополнительную информацию и уточняют их. Они не содержат саму "мету".
Например, если нужно изобразить объект «пост о товаре», нужна дополнительная информация о цене, количестве и качестве. Таким образом, вместо добавления столбцов в таблицу данные дополнительной информации будут сохранены в метаданные, а затем связаны с Post. Он становится продуктом, когда используются метаданные. Если пользователь больше не захочет, чтобы это был "продукт", можно связать его с произвольными полями WordPress, например, с ценой и пространством, поэтому Post становится Room без изменения его фундаментальных данных.
Эта чрезвычайно интересная и гибкая функция является основой для роста WordPress. Для того, чтобы пользователи могли добавлять, удалять или редактировать данные, должен быть инструмент для манипулирования ими - это произвольные поля, функция, которая помогает создавать формы для взаимодействия с метаданными (МД).
Настраиваемые поля
Вам будет интересно:Уровни модели OSI. Уровень приложений
Если интерфейс (UI) произвольных полей отсутствует, единственный способ добавлять, удалять или редактировать МД - это использовать код с помощью функций, предоставляемых платформой. Фактически понятие МД редко упоминается, потому что это технический термин, скрытый в WP. И когда дело доходит до настраиваемых полей, обычно понимают, что они включают как интерфейс, так и МД.
Настраиваемые поля создают формы, чтобы пользователь мог добавлять необходимые метаданные. В разделе МД основными типами объектов являются Post, User, Comments, Media и другие. Все эти объекты имеют собственные настраиваемые поля, которые можно увидеть при редактировании.
Обычно есть много типов данных, которые нужно добавить к каждому объекту. Это может быть короткий текст, изображение или URL. Перед тем, как вывести произвольные поля WordPress, пользователи должны выбрать тип полей.
Варианты настройки
Для того, чтобы добавить такие настраиваемые поля в WordPress, существует три варианта:
- использовать стандартные функции WP по умолчанию;
- использовать ручную настройку функции WP;
- использовать плагины.
Для некоторых простых полей, таких как текст, достаточно использовать стандартные функции WordPress. Если нужно применить более сложные поля, можно вручную закодировать их. Это не слишком сложно для таких полей, как изображение и редактор, но это сложно для таких, как отношения.
Пользователь может создавать веб-сайты в разных отраслях с помощью произвольных полей. Например:
- путешествия - добавляют описательные поля для адреса, рейтинга, цены, путеводителя;
- отель - добавляют такие поля, как цена, доступность, вместимость, услуги;
- электронная коммерция - поля о цене, объеме, количестве.
В WP можно сказать, что там, где есть типы записей, существуют пользовательские поля.
МД и настраиваемые поля предоставили WP огромную возможность настройки для удовлетворения потребностей 30% веб-сайтов в мире во всех отраслях. Когда пользователь работает с WP, даже если создает простейший блог, он не может игнорировать произвольные поля.
С другой стороны, они являются причиной многих споров. Некоторые люди говорят, что это делает запрос медленнее, а другие - что он не подходит для масштабирования. Чтобы узнать правду, нет другого способа, кроме как самому испробовать и узнать больше о построении WordPress и запросе данных из БД произвольных полей.
Установка полей через плагин
Вам будет интересно:Как проверить систему Windows 7 на ошибки: основные типы ошибок и базовые методы их исправления
Существует множество типов плагинов, которые позволяют очень быстро добавлять настраиваемые поля в WP, фаворитом же являются дополнительные произвольные поля Custom Fields.
Многим нравится этот плагин из-за простоты использования. В дополнение к простоте этот плагин включает в себя фильтр произвольных полей WordPress. Настраиваемые поля создаются им в одно мгновение, в несколько щелчков мыши.
Для начала нужно будет установить и активировать плагин. Открывают панель управления WP и нажимают «Плагины»> «Добавить новый». Затем находят «Дополнительные» в поле поиска и нажимают «Установить сейчас». Дожидаются появления кнопки «Активировать» и нажимают «Установить».
Как только плагин будет запущен, можно увидеть новую опцию Custom Fields на панели управления. При нажатии на эту кнопку откроется страница групп произвольных полей, которые на момент начала работ должны быть пустыми. Нажимают кнопку «Добавить новый» вверху страницы.
Плагин поможет создать новую группу, которая содержит несколько настраиваемых полей WP.
Используют плагин Advanced Custom Fields для создания поля, но не для его отображения на сайте. По умолчанию, поле будет отображаться только на панели мониторинга, а введенная информация будет храниться в базе данных. Если нужно, чтобы метаданные были видны посетителям сайта, необходимо отредактировать файлы для темы.
Ручная настройка
Можно добавить поля WP вручную и отредактировать тему для их отображения. Самым сложным является настройка темы для отображения метаданных, которые вводят в эти поля.
Алгоритм настройки.
Редактирование цикла тем
Для редактирования тем необходимо получить доступ к файлам сайта с помощью протокола передачи файлов (FTP) или Filezilla, если еще не настроен FTP-клиент.
После того, как FTP настроен, переходят в каталог public_html/wp-content/themes. При открытии находят папку, которая соответствует активной теме на сайте.
Встроенная функция пользовательских данных
Для того, чтобы добавить новое сообщение или отредактировать его, нажимают «Параметры экрана».
Использование встроенной функции.
Самостоятельная обработка настраиваемого поля из пользовательского интерфейса для сохранения данных намного сложнее.
Вам будет интересно:Как снимать через "Фрапс": настройка, запись, конвертация
Часто используемые функции показывают список полей во внешнем интерфейсе в упорядоченном списке, предоставляют настраиваемое значение полей в массиве ключ/значение, возвращают массив ключей всех полей, массив всех значений настраиваемого поля $key.
Вывод настраиваемого списка
Если нужно, чтобы вывод произвольных полей WordPress отображался сразу после заголовка публикации как в архиве, так и на отдельной странице, добавляют the_meta() функцию в файл template-params/post/content.php.
Настраиваемые поля - это способ для WP хранить произвольные дополнительные данные для контента, такие как имя автора, дата публикации книги. Чтобы сделать настраиваемые поля гибкими и совместимыми с различными видами данных, WP разрабатывает мета-таблицы (мета-пост, мета-термин, мета-пользователь и мета-комментарий) в форме "ключ-значение".
В соответствии с этим каждое настраиваемое поле сохраняется как одна строка в БД. Такой подход позволяет разработчикам хранить неограниченное количество информации независимо от их структуры. Но недостатком является быстрое распространение БД. Потому что количество настраиваемых полей обычно очень велико. Проект WordPress имеет все решения для оптимизации хранения настраиваемых полей в БД, чтобы повысить производительность сайта. Существуют некоторые недостатки использования структуры базы данных WordPress по умолчанию для мета-таблиц.
Между тем, структура БД будет препятствовать созданию сложных запросов. Таким образом, чтобы решить эту проблему для произвольных полей, нужно изменить способ хранения. Как уже отмечалось, настраиваемые поля не рекомендуются для поиска или запроса, хотя на практике иногда приходится выполнять такие операции. Таким образом, оптимизация хранилища для настраиваемых полей должна быть разделена на две задачи: оптимизация хранилища, используемого только для отображения/сохранения, а также запрос данных.
Пользовательские таблицы
Чтобы полностью решить эту проблему, нужно сохранять данные не так, как WordPress предлагает по умолчанию, а в виде пользовательских таблиц. С помощью них можно указать число, тип данных и способ сохранения.
Такая структура данных очень понятна, но может стать большой проблемой для многих разработчиков WordPress. Чтобы упростить работу для пользователей Meta Box, можно использовать расширение MB Custom Table, чтобы создать таблицы для обработки данных о получении/сохранении из произвольных полей и предоставлении класса кэша для повышения производительности.
Плюсы создания таблиц:
- очищают структуру данных;
- выполняют запрос по настраиваемым полям и создают сложные запросы;
- настраиваемые поля сохраняются в одной строке.
Минусы:
- не используют встроенные функции API метаданных WordPress;
- безопасность данных;
- реализуют слой кеша, когда данные растут самостоятельно.
Области применения
В любом случае информация, которую добавляют при использовании поля, может применяться для разных целей. Однако в большинстве из них эти поля используются для «метаданных». Например, в посте WP создают заголовок для описания контента, и технически - это уже метаданные.
Другие типы метаданных включают теги сообщений, мета-описание, категории страниц и многое другое, если у пользователя есть что-то общее, все, что WordPress предоставляет для добавления информации о контенте. В некоторых случаях нужно добавить метаданные, а WP не предлагает поля, предназначенные для этого. Для этого нужно будет добавлять настраиваемые поля WordPress и связывать их с контентом.
С правильными инструментами и пошаговым помощником можно создавать практически все виды настраиваемых полей WP. Примером является добавление звездной рейтинговой системы к сообщениям. Создавая настраиваемые поля для звездной рейтинговой системы, можно перемещать посты по популярности или просить посетителей оставлять отзывы, хотя это подразумевает выполнение более сложных настроек.
Важно отметить, что настраиваемые произвольные поля WordPress в записи и настраиваемые типы записей - это не одно и то же. Настраиваемая запись WordPress - это формат, специфичный для типа контента, например, это обзоры постов или страницы продуктов, которые должны разделять посты по категориям. Но, разумеется, на одной и той же странице или сообщении обычно есть поле и тип настраиваемого сообщения, и эти два элемента могут применяться изолированно.
Поскольку данные растут, производительность и масштабируемость становятся большими проблемами для всех веб-сайтов. Важно подумать об оптимизации хранилища для произвольных полей в базе данных. С помощью приемов, описанных выше, можно сэкономить место для хранения БД и в то же время повысить производительность запроса.