Произвольные поля Wordpress: пошаговое руководство пользования, советы

Произвольные поля WordPress (WP) отображаются в различных формах и размерах. Некоторые включают флажки и списки. Другие могут поставляться со средством выбора даты. Есть и такие, которые принимают только определенные символы, например, числа. Как и большинство функций WP, добавляют их к сообщениям и страницам через плагин или вручную без плагина произвольных полей WordPress. В англоязычной литературе этот термин имеет название «пользовательские поля».

О платформе WordPress

WordPress (WP) - это лучшая платформа с открытым исходным кодом для быстрого создания блогов. Его популярность и сила - это сообщество Custom Fields, которое участвовало в интенсивном развитии проекта и занимало лидирующие позиции в CMS в течение последних 15 лет.

В настоящее время WP является самой популярной CMS в мире, которая поддерживает около 30% веб-сайтов. Эта статистика касается только публичных сайтов. Существует также большое количество безучетных сайтов, например, частные сайты, количество которых никто точно не знает. Результат многолетней истории развития бренда – это возможности для многомиллионных пользователей с базой в 45 000 плагинов и порядком 6000 тем, официально опубликованных на сайте WordPress.

Еще одной причиной, почему WP интересует владельцев новостных сайтов, портфолио бронирования отелей или электронной коммерции, являются произвольные поля WordPress и архитектура метаданных.

В WordPress существуют основные типы объектов: «пост», «пользователь», «комментарий», «таксономия» и «медиа». Они содержат только необходимые поля, предоставленные WP для их описания. Например, заголовок для продукта или сообщения, имя пользователя и название категории.

Произвольные метаданные

Произвольные метаданные

В БД все это выражается в соответствующих таблицах для объектов и произвольных полей WordPress. Можно интерпретировать метаданные как произвольные (мета), прикрепленные к первичным данным. Они предоставляют дополнительную информацию и уточняют их. Они не содержат саму "мету".

Например, если нужно изобразить объект «пост о товаре», нужна дополнительная информация о цене, количестве и качестве. Таким образом, вместо добавления столбцов в таблицу данные дополнительной информации будут сохранены в метаданные, а затем связаны с Post. Он становится продуктом, когда используются метаданные. Если пользователь больше не захочет, чтобы это был "продукт", можно связать его с произвольными полями WordPress, например, с ценой и пространством, поэтому Post становится Room без изменения его фундаментальных данных.

Эта чрезвычайно интересная и гибкая функция является основой для роста WordPress. Для того, чтобы пользователи могли добавлять, удалять или редактировать данные, должен быть инструмент для манипулирования ими - это произвольные поля, функция, которая помогает создавать формы для взаимодействия с метаданными (МД).

Настраиваемые поля

Если интерфейс (UI) произвольных полей отсутствует, единственный способ добавлять, удалять или редактировать МД - это использовать код с помощью функций, предоставляемых платформой. Фактически понятие МД редко упоминается, потому что это технический термин, скрытый в WP. И когда дело доходит до настраиваемых полей, обычно понимают, что они включают как интерфейс, так и МД.

Основные типы объектов

Настраиваемые поля создают формы, чтобы пользователь мог добавлять необходимые метаданные. В разделе МД основными типами объектов являются Post, User, Comments, Media и другие. Все эти объекты имеют собственные настраиваемые поля, которые можно увидеть при редактировании.

Обычно есть много типов данных, которые нужно добавить к каждому объекту. Это может быть короткий текст, изображение или URL. Перед тем, как вывести произвольные поля WordPress, пользователи должны выбрать тип полей.

  1. Текстовое поле, например, имя, адрес.
  2. Поле изображения, например, изображение профиля, значок.
  3. Поле загрузки файла - загрузка файла PDF, загрузка счета.
  4. Поле редактора - краткое описание, вводный текст.
  5. Поле отношений - поле ссылки на другие типы объектов.
  6. Поле повторителя.
  7. Поле URL - веб-сайт, профиль в социальных сетях.
  8. Поле выбора - опция из предопределенного списка.

Варианты настройки

Варианты настройки

Для того, чтобы добавить такие настраиваемые поля в WordPress, существует три варианта:

  • использовать стандартные функции WP по умолчанию;
  • использовать ручную настройку функции WP;
  • использовать плагины.

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

Пользователь может создавать веб-сайты в разных отраслях с помощью произвольных полей. Например:

  • путешествия - добавляют описательные поля для адреса, рейтинга, цены, путеводителя;
  • отель - добавляют такие поля, как цена, доступность, вместимость, услуги;
  • электронная коммерция - поля о цене, объеме, количестве.

В WP можно сказать, что там, где есть типы записей, существуют пользовательские поля.

МД и настраиваемые поля предоставили WP огромную возможность настройки для удовлетворения потребностей 30% веб-сайтов в мире во всех отраслях. Когда пользователь работает с WP, даже если создает простейший блог, он не может игнорировать произвольные поля.

С другой стороны, они являются причиной многих споров. Некоторые люди говорят, что это делает запрос медленнее, а другие - что он не подходит для масштабирования. Чтобы узнать правду, нет другого способа, кроме как самому испробовать и узнать больше о построении WordPress и запросе данных из БД произвольных полей.

Установка полей через плагин

Установка полей через плагин

Существует множество типов плагинов, которые позволяют очень быстро добавлять настраиваемые поля в WP, фаворитом же являются дополнительные произвольные поля Custom Fields.

Многим нравится этот плагин из-за простоты использования. В дополнение к простоте этот плагин включает в себя фильтр произвольных полей WordPress. Настраиваемые поля создаются им в одно мгновение, в несколько щелчков мыши.

Для начала нужно будет установить и активировать плагин. Открывают панель управления WP и нажимают «Плагины»> «Добавить новый». Затем находят «Дополнительные» в поле поиска и нажимают «Установить сейчас». Дожидаются появления кнопки «Активировать» и нажимают «Установить».

Как только плагин будет запущен, можно увидеть новую опцию Custom Fields на панели управления. При нажатии на эту кнопку откроется страница групп произвольных полей, которые на момент начала работ должны быть пустыми. Нажимают кнопку «Добавить новый» вверху страницы.

Плагин поможет создать новую группу, которая содержит несколько настраиваемых полей WP.

  1. Сначала нажимают кнопку «Добавить поле» вверху страницы, выбирают, как будет называться ярлык этой новой группы. На этом этапе также выбирают, какой тип поля нужно настроить, например, поле с именем E-mail.
  2. Теперь можно описать, для чего это поле, чтобы пользователи сайта знали, что делать в этом разделе. Это условие не обязательно выполнять, но оно является примером хорошей практики.
  3. Далее необходимо указать, является ли это поле обязательным или нет. В этом случае пользователи смогут сохранять сообщения или страницы только после их заполнения.
  4. Есть и другие расширенные настройки, которые можно использовать.
  5. Закрывают редактор, и новое поле, которое было создано, появится в списке групп.
  6. Включают опцию, которая называется Show This Field If, ее можно использовать для настройки параметров отображения.
  7. Если нужно добавить более одного местоположения для отображения нового настраиваемого поля WP, то выполняют это с помощью кнопки «Добавить правило группы».
  8. Далее нажимают кнопку «Опубликовать» и сохраняют новое настраиваемое поле. На этом этапе оно уже должно работать.
  9. Открывают редактор в одном из сообщений и проверяют конец страницы.

Используют плагин Advanced Custom Fields для создания поля, но не для его отображения на сайте. По умолчанию, поле будет отображаться только на панели мониторинга, а введенная информация будет храниться в базе данных. Если нужно, чтобы метаданные были видны посетителям сайта, необходимо отредактировать файлы для темы.

Ручная настройка

Ручная настройка

Можно добавить поля WP вручную и отредактировать тему для их отображения. Самым сложным является настройка темы для отображения метаданных, которые вводят в эти поля.

Алгоритм настройки.

  1. Для того, чтобы добавить произвольное поле WordPress на одну из страниц или сообщений, открывают редактор WP. Находят раздел «Параметры экрана» в верхней части страницы, нажимают и получают доступ к разделу, где можно выбрать, какие поля WP будут отображаться по умолчанию.
  2. Выбирают опцию под названием «Произвольные поля», после этого в нижней части экрана появится поле.
  3. Добавить поле просто, для этого нужно нажать функцию «Добавить» и создать имя для него.
  4. После ввода значений нажимают «Добавить» внизу страницы, чтобы сохранить их. Можно создать столько записей, сколько требуется. Как и при использовании плагина произвольных полей WordPress, введенные данные будут сохранены вместе с постом.
  5. Пользователям не будет доступен просмотр контента в общедоступном режиме сайта. Чтобы это произошло, нужно сообщить тему, отредактировав функцию WordPress loop. Этот цикл сообщает WP, какие данные он должен отображать, когда пользователь получает доступ к сайту. В большинстве случаев эта информация включает в себя заголовок сообщения или содержание и любую другую информацию.

Редактирование цикла тем

Редактирование цикла тем

Для редактирования тем необходимо получить доступ к файлам сайта с помощью протокола передачи файлов (FTP) или Filezilla, если еще не настроен FTP-клиент.

После того, как FTP настроен, переходят в каталог public_html/wp-content/themes. При открытии находят папку, которая соответствует активной теме на сайте.

  1. Открывают папку и находят файл single.php. Этот файл определяет индивидуальное отображение сообщения и содержание цикла. Чтобы изменить его, нажимают правой кнопкой мыши на файл и выбирают параметр «Просмотр/редактирование», который будет использовать текстовый редактор по умолчанию для открытия. Затем находят цикл внутри файла.
  2. Теперь нужно вставить несколько строк данных и создать метаданные.
  3. В этом случае включают краткий обзор, который будет отображаться рядом с адресом электронной почты и сохраняться в настраиваемом поле. Таким образом, отображение будет в конце статьи, но перед разделом комментариев. Можно включить код в различные места, чтобы метаданные отображались.

Встроенная функция пользовательских данных

Для того, чтобы добавить новое сообщение или отредактировать его, нажимают «Параметры экрана».

Использование встроенной функции.

  1. Устанавливают флажок «Произвольные поля».
  2. Появляется поле в области редактора. По умолчанию, эта функция работает только с сообщениями. Если нужно, чтобы она поддерживала пользовательские типы записей, объявляют ее в опциях поддержки при регистрации: 'support' => array ('title', 'editor', 'thumbnail', 'custom-fields').
  3. В области «Произвольные поля» появятся строки для заполнения данных. Эта форма довольно простая: произвольное имя для настраиваемого поля используется в качестве ключа в простом тексте настраиваемого поля. Хотя это текстовое поле, оно довольно гибкое. Оно может сохранить любые данные, которые могут быть преобразованы в текст: простой текст, HTML, XML, SVG, JSON.
  4. Сохраняют значение WordPress произвольного поля.
  5. Добавляют дополнительные данные в настраиваемое поле, эта функция также называется полями клонирования в Meta Box или полями повторителей в других плагинах.

Самостоятельная обработка настраиваемого поля из пользовательского интерфейса для сохранения данных намного сложнее.

Самостоятельная обработка настраиваемого поля

Часто используемые функции показывают список полей во внешнем интерфейсе в упорядоченном списке, предоставляют настраиваемое значение полей в массиве ключ/значение, возвращают массив ключей всех полей, массив всех значений настраиваемого поля $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 - это формат, специфичный для типа контента, например, это обзоры постов или страницы продуктов, которые должны разделять посты по категориям. Но, разумеется, на одной и той же странице или сообщении обычно есть поле и тип настраиваемого сообщения, и эти два элемента могут применяться изолированно.

Поскольку данные растут, производительность и масштабируемость становятся большими проблемами для всех веб-сайтов. Важно подумать об оптимизации хранилища для произвольных полей в базе данных. С помощью приемов, описанных выше, можно сэкономить место для хранения БД и в то же время повысить производительность запроса.

Статья закончилась. Вопросы остались?
Комментарии 0
Подписаться
Я хочу получать
Правила публикации
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.