Как вывести произвольные поля вордпресс

Добавляем произвольные поля в WordPress

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

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

WordPress добавление поля

Откроем файл functions.php и вставим строки:

Эта функция выводит Ваши произвольные поля в админ панель wordpress, вставляем и это

Ну и наконец вставляем функцию сохранения значений полей:

Значения между тегами Поле 1 будет отображаться в админке, поэтому их следует назвать по своему усмотрению, согласно его назначению.

Значения pole_1, pole_2, … и тд также можно поставить свои, только нужно незабыть их изменить и в других участках кода name=»extra[pole_1]», name=»extra[pole_2]», … и тд.

Получать и выводить сохраненне значения нужного поля, например в файле single.php, можно при помощи этой функции:

где $post->ID ID записи, а pole_X ее имя.

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

рисунок 1

Ну вот впринципе и все.

В заключение хочу добавить, поле «Имя поля» нужно заполнять латиницей без пробелов, и без использования специальных символов, только буквы, цифры и подчеркивание.

Автор статьи: Alec Morty

  • Facebook
  • Twitter
  • Вконтакте
  • Одноклассники

Смотрите также

Как подключить скрипт в WordPress

Нередко у разработчиков сайта на платформе WordPress возникает необходимость установки своих css/js скриптов д …

WordPress для развертывания игрового сайта

Одно время я искал в Рунете информацию о том, как сделать игровой сайт. Соответственно, нашел мало чего полезн …

5 Комментариев — Развернуть

У вас ошибка в скрипте
$key=—>$value, а должно быть $key=>$value

Источник

Произвольные поля. Добавление счётчика просмотров

Содержание

Сейчас в WordPress вы можете спокойно задавать дополнительные параметры к различным сущностям сайта:

  • записям, страницам и другим постам произвольного типа,
  • рубрикам, меткам и другим таксономиям,
  • пользователям,
  • комментариям.

Эти дополнительные параметры и называются мета-поля, дополнительные поля, кастомные поля (custom fields), сейчас они чаще называются именно мета-поля.

«Произвольные поля» – это название метабокса для постов, где можно было как раз эти мета-поля устанавливать.

Что в видеоуроке?

В этом видеоуроке мы при помощи произвольных полей создадим счётчик просмотров для постов.

Мы рассмотрим такие моменты:

  • Как сделать так, чтобы слово «просмотров» склонялось в зависимости от цифры – «1 просмотр», «2 просмотра», «5 просмотров».
  • Как сделать так, чтобы счётчик просмотров прекрасно работал с установленными кэширующими плагинами на сайте, например WP-Super-Cache.
  • Добавим в админку метабокс, в котором вы вручную сможете изменять значение количества просмотров для каждого поста индивидуально. Двумя способами – ручками и при помощи плагина Carbon Fields.

Чтобы скачать тему WordPress, которая получилась у нас в процессе этого урока, необходимо приобрести курс.

Как создать значения произвольных полей?

Итак, задавать значения произвольных полей в WordPress можно тремя способами:

  1. Стандартный способ через админку, метабокс «Произвольные поля».
  2. При помощи функций.
  3. При помощи метабоксов, которые мы либо написали сами, либо создали при помощи плагина, например Carbon Fields.

Используя метабокс «Произвольные поля»

Этот способ будет работать только для Записей, Страниц и других произвольных типов записей, у которых при регистрации в параметре supports указано значение custom-fields , например ‘supports’ => array( ‘custom-fields’ ) .

С приходом редактора Gutenberg этот метабокс с настройками полей считается устаревшим и мы обычно используем сайдбары Gutenberg для этих целей.

При помощи функций

Практически всегда мне было достаточно одной-единственной функции для этой цели – update_<сущность>_meta() , то есть для каждой сущности функция выглядит немного по-другому, но работает примерно одинаково.

  • update_post_meta() – для постов,
  • update_term_meta() – для таксономий,
  • update_comment_meta() – для комментариев,
  • update_user_meta() – для пользователей,
  • update_site_meta() – для сайтов сети WordPress мультисайт.

Например мы хотим установить значение количества просмотров поста на 10000, тогда мы можем использовать этот код:

При помощи метабоксов

Метабоксы кстати могут быть сами разными, например на недавнем проекте у нас был такой метабокс:

Метабокс с повторяющимися полями (репитер).

Если вы хотите кодить эти метабоксы сами, то рекомендую это руководство, если при помощи плагина, то мне очень нравится Carbon Fields. В любом случае, в видеоуроке мы рассмотрели оба варианта.

Вывод произвольных полей на сайте

В основном вывод осуществляется при помощи одних и тех же функций, если только вы не используете для этого какой-то плагин для создания метабоксов, например Carbon Fields.

Вот эти функции:

Принцип действия всех этих функций примерно одинаков, для того, чтобы его понять, вам нужно понять, что любое мета-поле состоит из трёх частей:

  1. ID сущности.
  2. Ключ meta_key .
  3. Значение meta_value .

Скриншот из базы данных WordPress:

И тогда в коде это будет выглядеть примерно так:

Источник

Плагины произвольных полей — Custom Field Suite и Advanced Custom Fields

Произвольные поля в WordPress (Custom Fields) или как их еще называют пользовательские поля — очень полезная фишка. С их помощью вы сможете добавить на страницу/пост сайта любой контент, который будет выводится в определенном месте шаблона. По умолчанию в системе пользователю доступно задание лишь нескольких базовых форматов данных для записи: заголовок, текст, МЕТА (если установлены плагины) и т.п. Используя функцию произвольный полей, получится внедрить дополнительные нужные вам информационные блоки. Например, недавно на одном проекте я реализовал несколько объектов: иконку для страницы, оригинально оформленные контакты в одноименном разделе, блок категорий товаров, карту Google Maps + слайдер картинок. Сегодня рассмотрим два полезных плагина по теме — это Custom Field Suite и Advanced Custom Fields.

Можно, конечно, работать с произвольными WordPress полями вручную, о чем я когда-то рассказывал в другом блоге. Однако, во-первых, информация там слегка устарела, а во-вторых, модули значительно упрощают задачу и ускоряют процесс разработки. Грех ими не воспользоваться. Более детально познакомимся с Custom Field Suite, с которым работал уже несколько раз, а также обратим внимание на популярный и продвинутый плагин Advanced Custom Fields.

Custom Field Suite

Найдете модуль в официальном репозитории на этой странице. Текущая версия на момент написания статьи (2.5.6.1) требует вордпресс от 4.0, имеет более 30 тысяч установок и оценивается в 4.9 баллов из 5-ти возможных. Основная функция — внедрение удобного интерфейса для работы с произвольными полями WordPress, который бы позволял их легко создавать и управлять ими. Плагин Custom Field Suite (CFS) поддерживает 12 типов элементов:

  • Text — текстовая строка;
  • Textarea — поле для текста из нескольких строк;
  • WYSIWYG — графический редактор;
  • True / False — чекбокс (блок с галочкой);
  • Color — выбор цвета;
  • Date — выбор даты;
  • Select — несколько чекбоксов или выпадающий список;
  • File Upload — загрузка файла;
  • User — выбор пользователя;
  • Relationship — виджет для похожих постов;
  • Loop — контейнер повторяющихся полей;
  • Hyperlink — URL ссылки;
  • Tab — объединение группы полей в табы.

Плюс модуля Custom Field Suite в том, что кроме ввода определенных данных (текстов, дат, цветов) здесь есть элементы организации полей: табы и контейнеры. Последний, например, позволяет реализовать галерею на слайдере Owl Carousel 2 за счет создания нескольких повторяющихся объектов «текст + картинка». Табы мне также пригодились в работе. Решение абсолютно бесплатное, функциональное и очень простое.

Вывод произвольных полей в WordPress с помощью CFS

Давайте разберем на реальном примере как вывести произвольные WordPress поля с помощью модуля Custom Field Suite. Алгоритм приблизительно следующий:

1. В самом начале, разумеется, устанавливаем и активируем Custom Field Suite.

2. Далее заходим в админку вордпресс в раздел «Field Groups» (Группа полей). Там содержится список всех созданных вами элементов и кнопка «Add New» (Добавить новую) . С ее помощью можно создать новый набор нужных элементов. Кликаем и видим на открывшейся странице 3 блока для ввода информации:

  • Fields — список всех элементов/полей;
  • Placement Rules — правила размещения;
  • Extras — дополнительные настройки.

Первым делом нужно добавить произвольные поля в WordPress с помощью соответствующей кнопки.

Для полей требуется определить некоторые настройки, например:

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

Большую часть этих характеристик вы встретите и в других типах произвольных полей, однако в каждом из них есть и свои особенности. На картинке выше можете видеть 6 элементов, 3 из которых являются табами (tabs), а 3 текстовой областью. В результате в админке пользователь увидит следующую картинку:

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

3. Как я говорил выше, на этой же странице есть блоки настроек Placement Rules и Extras. Полезнее всего первый, т.к. там создаются условия для вывода произвольных полей в WordPress админке.

Ограничения показа могут касаться:

  • Post Types — типов записей (посты, страницы, товары);
  • Post Formats — форматов постов (обычный, видео, цитата, ссылка);
  • User Roles — пользовательских ролей (админ, автор, редактор);
  • Posts — конкретных записей;
  • Taxonomy Terms — терминов таксономии;
  • Page Templates — шаблонов страниц.

В примере выше я использовал последний вариант, поскольку нужно было добавить произвольные поля в WordPress только для страницы контактов (она имела специальный шаблон). Теоретически можно было бы воспользоваться опцией Posts.

4. Финальная и самая основная стадия интеграции Custom Fields — вывод значений произвольных полей в WordPress файле шаблона. Для этого используется специальная функция get. Например:

Отображение значения поля contacts_email

echo CFS()->get( ‘contacts_email’ );

Считывание всех значений для текущей записи

Вывод произвольного поля contacts_email для поста с >

echo CFS()->get( ‘first_name’, 71 );

Вариант с циклом для галереи:

$loop = CFS()->get( ‘gallery’ ); foreach ( $loop as $row )

Детальное ее рассмотрение и примеры найдете на странице описания API плагина Custom Field Suite. Кроме нее есть еще функции поиска полей, отображения их свойств, создание форм и т.п.

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

Здесь, во-первых, используется условный оператор «IF !empty» для проверки не пустое ли у нас поле, во-вторых, с помощью __() я вывожу значение произвольного поля с учетом выбранного языка сайта. Для локализации используется плагин qTranslate-X.

5. После завершения манипуляций по добавлению и выводу произвольных полей в WordPress вам нужно лишь зайти в админку на нужную страницу и заполнить соответствующие тексты/данные. После этого перейдите на сам сайт и проверьте все ли корректно отображается. Если нет, весь алгоритм по работе с плагином Custom Field Suite нужно будет тщательно проверить и повторить.

Advanced Custom Fields

По WordPress плагину произвольных полей Advanced Custom Fields вообще создан отдельный сайт с описанием, документацией и подсказками. Сразу замечу, что в нем есть 2 версии — обычная бесплатная и PRO. Первую совершенно спокойно можно скачать отсюда с официального репозитория вордпресс. Оценка 4.9, минимальная версия WP — 3.5 и более миллиона загрузок!

Основная функция модуля, как и в предыдущем варианте — это упрощение работы с пользовательскими полями WordPress с помощью специальных интуитивно понятных инструментов интерфейса. Данное решение позволит легко создавать и редактировать поля, а также определять для них правила отображения. За счет использования базовых механизмов Custom Fields системы WordPress работа плагина достаточно быстрая. Для веб-разработчиков определены соответствующие хуки, фильтры и функции интеграции с шаблоном.

Advanced Custom Fields имеет чуть больше типов пользовательских полей, которые разделены на 6 групп:

  • Базовые: текстовая строка и область.
  • Выборка: чекбоксы, True / False, выпадающий список, Radio Button.
  • Контент: файлы, галерея, картинка, текстовый редактор, встраиваемый объект oEmbed.
  • Элементы jQuery: цветовая палитра, выбор даты/времени, Google карта.
  • Для разметки: отображение (клонирование) определенных полей, гибкий элемент контента (Flexible Content), табы, повторяющиеся элементы.
  • Связи: URL линк, таксономия, объект поста, ссылка на объект.

Детальное описание полей и примеры найдете в документации данного WordPress плагина произвольных полей. Вообще очень нравится этот сайт, поскольку там можно найти все, что нужно — примеры кода, скриншоты, видео, настройки элемента и т.п.

Разобраться с интеграцией Advanced Custom Fields даже для начинающего разработчика не будет проблемой. Кроме того, в самой админке плагин имеет весьма приятный интерфейс. В разделе Add-ons на официальном сайте найдете несколько модулей для расширения функциональности — поддержка Font Awesome, дополнительные поля для таблиц и аккордеона, переводы через qTranslate.

В принципе, можно было сказать, что плагин является идеальным, если бы не одно «но». Дело в том, что добавить произвольные поля типа галереи, гибкого контента и повторяющегося элемента можно только в PRO версии. Поэтому мне пришлось создавать слайдер картинок через связку Custom Field Suite + Owl Carousel 2. С другой стороны, стоимость PRO для одного сайта ($25) может быть включена в общую смету сайта, а если вы часто разрабатываете проекты, то пожизненная лицензия ($100) окупится достаточно быстро. Там же есть Add-on для создания страницы настроек Options Page в WP через произвольные поля, что также может пригодиться (как альтернатива соответствуюших фреймворков).

Итого. Если вам нужно добавить произвольное поле в WordPress простого типа (текст, картинка, ссылка), то тут подойдет любой плагин — Custom Field Suite или Advanced Custom Fields. Выбирайте тот, что больше нравится. Если же требуются повторяющиеся поля (цикл), то бесплатно эта функция есть только в первом модуле.

Кстати, если знаете еще какие-то плагины произвольных полей для WordPress напишите о них в комментариях.

Источник

Читайте также:  Массаж для детей чтобы вывести мокроту
Оцените статью