wordpress добавить произвольное поле

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Карта сайта на wordpress без плагина

Карта сайта один из главных элементов продвижения сайта, без нее поисковики будут в разы медленнее индексирова …

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

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

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

Источник

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

Содержание

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

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

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

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

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

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

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

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

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

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

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

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

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное полеМетабокс с повторяющимися полями (репитер).

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

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

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

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

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

Источник

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

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

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

Custom Field Suite

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

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

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

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

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

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

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

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

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

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

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

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

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

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

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

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

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

Advanced Custom Fields

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

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

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

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото 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 напишите о них в комментариях.

Источник

Произвольные поля в WordPress

Стандартного функционала WordPress не хватает для разработки сайтов уровнем выше блога, требуются дополнительные поля, галереи и другие возможности. Для их добавления прекрасно подходит плагин Advanced Custom Fields (ACF).

Он позволяет добавить и настроить дополнительные поля разных типов в админку записей, рубрик и меток. Есть поддержка вложенности групп полей что дает возможность добавлять редактируемые блоки таблиц, расписаний, списков – идеальное решение для лэндингов.

Установка

В разделе плагины – добавить новый, в поиске – «Advanced Custom Fields».

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

После установки и активации плагина появится новый пункт «Группы полей» в левом меню.

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

Настройка групп

Итак, сначала нужно создать группу и привязать её. Есть возможность задать любое условие привязки.

Поля для записей

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

Для категорий

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

Для страниц с определенными шаблонами

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

Источник

Блок произвольных полей в админке WordPress своими руками

Чтобы не создавать произвольные поля полностью в ручную, используйте мой PHP класс для удобно создания метаполей записи.

Чтобы вывести подобный блок для элементов таксономий, смотрите описание события: (taxonomy)_edit_form_fields. Также смотрите ответ на вопрос: Метаполя для рубрик (таксономий) в WordPress

В в одная часть

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

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

Произвольные поля в WordPress — очень удобный инструмент, когда нужно «прикрепить» к конкретному посту какие-либо дополнительные данные. Такими данными может быть что угодно, начиная от логических true/false (1/0), заканчивая объемными текстами, массивами и прочим. К примеру, мы можем создать новое произвольное поле Title и в его значение написать текст (альтернативный заголовок поста), затем в коде шаблона использовать следующий код, чтобы вывести этот текст:

Следует отметить, что функцию get_post_meta() можно использовать за пределами Цикла WordPress, т.е. где угодно в шаблоне. В данном примере мы используем её в части документа, чтобы дать html странице заголовок отличный от заголовка самой статьи (иногда полезно для SEO).

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

Произвольные поля используются в WordPress сплошь и рядом, различными плагинами оценки постов (WP-PostRatings), SEO плагинами (Platinum SEO Pack), позволяющими указать Title, Description, Keywords поста, моим плагином для создания миниатюр (Kama Thumbnail) и многими другими плагинами. Образно говоря, каждая четвертая нестандартная задача решается посредством произвольных полей, поэтому если вы еще не знаете как их использовать, то ознакомьтесь с этим мануалом. А ниже мы поговорим о том, как создать отдельный блок с нужными нам произвольными полями и как сделать это без плагинов.

Прежде чем начать создание

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

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

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

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

Создаем мета блок произвольных полей

#1. Создадим новый мета блок для постов

Назовем его «Дополнительные поля»:

#2. Заполним этот блок полями html формы

#3. Сохраняем данные

На этом этапе, мы уже создали блок произвольных полей, теперь нужно обработать данные полей при сохранении поста. Обработать, значит записать их в в базу данных или удалить от туда. Для этого используем хук save_post, который срабатывает в момент сохранения поста. В этот момент мы получим данные из массива extra[] и обработаем них:

Вот и все, блок произвольных полей готов!

Блок произвольных полей для произвольного типа записей

Если нужно создать блок для другого типа записей, допустим page (для страниц), то регистрируем еще один мета блок и описываем его html код в новой функции, которую так же нужно указать при регистрации блока ( extra_fields_box_page_func ). Функцию обработки полей при сохранении поста создавать уже не надо, главное указать названия полей в виде массивов extra[] :

Сложности с типом checkbox

Чтобы обойти этот «недуг» я сделал так: перед полем чекбокса создаем hidden поле с name как у чекбокса и пустым значением. И получается, если галочка стоит, то значение hidden поля перебивается, если галки нет, то берется пустое значение hidden поля.

Т.е. checkbox нужно вызывать так:

Такой же трюк иногда может пригодится и для поля с типом radio.

Пример реального кода с типами checkbox:

Еще один пример создания метабокса (ООП)

Этот пример показывает как создать одно поле, в котором будет храниться массив данных. Массив можно расширять или уменьшать через нажатие на + или удалить (работает на скрипте).

Это пример создание поля «повторитель», как у плагина ACF (поле repeater в платной версии).

В результате получим такой метабокс:

wordpress добавить произвольное поле. Смотреть фото wordpress добавить произвольное поле. Смотреть картинку wordpress добавить произвольное поле. Картинка про wordpress добавить произвольное поле. Фото wordpress добавить произвольное поле

Плагины для создания блоков произвольных полей

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

Advanced Custom Fields (ACF) — пожалуй, самый популярный и гибкий плагин для создания произвольных полей. С хорошей документацией.

Custom Field Suite — похож на ACF, только менее навороченный.

Carbon Fields — похож на ACF только без визуальной настройки, все делается в коде. Хорошо подойдет для разработчиков. Бесплатный.

CMB2 — CMB2 инструмент для разработчиков для создания: метабоксов, метаполей. Позволяет легко управлять записями, элементами таксономий, пользователями, комментариями или создавать произвольные страницы настроек.

Custom Field Template — настоящий комбайн. С ним можно создать любую форму, для любых типов постов, указать формы для отдельных постов и рубрик. Думаю в большинстве случаев, можно обойтись без такого комбайна.

Заключение

Простота в настройке блока произвольных полей при создании его таким способом теряется! Я ни в коем случае не хочу сказать, что создавать блоки таким способом лучше чем использовать плагины. Однако, такой подход более гибок, потому что мы можем создать абсолютно любые поля и расположить/стилизовать их как нам вздумается.

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

Это скорее обучающая статья и для многих плагины реализующие эту задачу будут лучшим решением.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *