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


произвольные поля wordpress custom fields

Добрый день дорогие читатели блога Help-WP.ru, сегодня хочу поговорить с вами об одном из самых сильных инструментов ВП: wordpress custom fields (произвольные они же пользовательские поля). Сustom field в вордпрес появились с самых первых версий и служили для записи разного рода информации в нужные блоки. Самым простым примером как использовать произвольные поля wordpress, есть возможность указать класс для body через пользовательское поле, но это цветочки, ведь через них можно задавать цены, артикулы, сопутствующею информацию и многое другое.

WordPress custom fields — это по сути текстовое поле (в базе mySQL таблица wp_postmeta), в которое можно записать любую информацию. Через это поле можно присвоить для поста или страницы:

  • изображение;
  • прицепить какой нибудь файл (например прайс);
  • хтмл текст;
  • идентификатор объекта записи;
  • массив данных;
  • задать произвольные заголовки, ссылки и многое другое.

Как вы поняли, механизм custom field wordpress — это область для развития плагинов, дополнений, задания настроек для специфических страниц. Произвольные поля wordpress это тот функционал WP, без которого он бы не смог достичь такого распостранение среди пользовательских CMS.

Навигация по странице:

  1. функции для wordpress custom fields
  2. произвольные поля в комментариях
  3. сustom field для пользователей
  4. удалить произвольные поля wordpress
  5. плагин для произвольных полей

Забегая на перед хочу сказать что произвольные поля есть не только для постов, но и для комментариев и пользователей. На скриншоте показанные таблицы где хранятся произвольные поля:

таблицы для wordpress custom fields

Произвольные поля wordpress для комментариев и для пользователей позволяют:

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

Функции для получения wordpress custom fields

к менюСамой основной функцией чтоб получить произвольное поле у записи/поста есть get_post_meta().

get_post_meta($post_id, $key, $single); — возвращает строку или распакованный массив в зависимости от данных и параметра $single.

$post_id — идентификатор поста, произвольное поле которого мы будем получать.

$key — имя произвольного поля, которое нам нужно получить.

$single — (true / false), если в базе записанная строка, то true выведет ее без изменений. Если указать false или упустить этот параметр, то значения будут в виде массива. Если в базе записан серриализированный массив, то значение true вернет нормальный массив, а false вернет массив у которого в значении [0] будет хранится серриализированный массив в виде строки.

 Пример использования:

Вторая функция: get_post_custom() — она позволяет получить многомерный массив с данными всех произвольных полей для текущего поста.

get_post_custom( $post_id ); — возвращает многомерный массив.

$post_id — идентификатор поста, произвольные поля которого мы будем получать.

 

Если вам нужно добавить / сохранить произвольное поле для поста, вы можете сделать это из админки или же воспользоваться функцией: add_post_meta($post_id, $meta_key, $meta_value, $unique)


Параметры add_post_meta Тип данных Описание
$post_id  целое число  Идентификатор поста или страницы, к которому мы сохраняем wordpress custom field
 $meta_key  строка  имя произвольного поля
 $meta_value  строка  значение произвольного поля
$unique логический (true / false) при true, поле будет добавлено лишь в том случае если такого custom field еще нет. Если false — будет добавлено в любом случае и может возникнуть ситуация, когда будет 2, 3, 4 поля с одинаковыми именами.

Вид таблицы mySQL, где хранятся произвольные поля вордпресс:

wordpress пользовательские поля в базе

Произвольные поля в комментариях

к менюДля получения данных с произвольных полей комментария можно воспользоваться волшебной функцией get_comment_meta(). Работает она аналогично описанной выше функции get_post_meta.

get_comment_meta( $comment_id, $key, $single ); — возвращает запрашиваемое мета поле в виде строки или массива.


$comment_id — ИД комментария, мета поле которого нужно получить.

$key — имя произвольного поля комментария, которое нам нужно получить.

$single — (true / false) смотрите по аналогии с get_post_meta.

 

Если вам нужно зарегистрировать или добавить, или сохранить wordpress custom fields для комментариев можно использовать функцию update_comment_meta( $comment_id, $meta_key, $meta_value, $prev_value ) — она позволяет добавить мета поле если его нет или обновить если оно существует.

Параметры update_comment_meta Тип данных Описание
$comment_id  целое число  Идентификатор комментария, для которого мы сохраняем custom field
 $meta_key  строка  имя произвольного поля
 $meta_value  строка  значение произвольного поля
$prev_value строка старое значение ключа. Используется в том случае, если у одного комментария несколько одинаковых полей

 

Сustom field wordpress для пользователей / users

к менюДля работы с мета полями пользователей существует много разных функций, но сейчас мы говорим о получении произвольного поля пользователя. Делается это функцией get_user_meta( $user_id, $key, $single ); — все параметры аналогичны тем что я описывал для постов и комментариев.

Если вам нужно добавить / сохранить произвольное поле для пользователя, вы можете воспользоваться функцией add_user_meta( $user_id, $meta_key, $meta_value, $unique ).


Параметры add_user_meta Тип данных Описание
 $user_id  целое число Идентификатор пользователя, информацию о котором мы сохраняем
 $meta_key  строка  имя произвольного поля
 $meta_value  строка  значение произвольного поля
$unique логический (true / false) при true, поле будет добавлено лишь в том случае если оно не существует. Если false — будет добавлено поле в любом случае и может возникнуть ситуация, когда будет 2 поля с одинаковыми именами.

 

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

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

Для удаления custom fields у постов нужно воспользоваться функцией delete_post_meta($post_id, $key, $value)


Параметры delete_post_meta Тип данных Описание
$post_id  целое число идентификатор поста, у которого нужно удалить произвольные поля
$key  строка имя произвольного поля
$value  строка значение произвольного поля (не обязательно)

 

Для того, чтобы удалить произвольные поля WordPress у пользователей нужно использовать функцию delete_user_meta( $user_id, $meta_key, $meta_value ) — ее параметры аналогичны описанной выше функции для постов delete_post_meta.

 

Для удаления wordpress custom fields у комментариев существует функция delete_comment_meta( $comment_id, $meta_key, $meta_value ). Я думаю вы не удивитесь, если я скажу что настройки для этой функции идентичны тем что я описывал для двух функций выше, только вместо ИД поста нужно подставлять идентификатор комментария.

 

Это не все функции для работы с custom fields у WordPress, но и их вполне достаточно для того, чтобы создать красивый сайт с множеством настроек, например для создания каталога с ценами и артиклами товаром, или же красивого слайдера у каждой страницы.

 

help-wp.ru

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


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

Блок произвольных полей WordPress

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

Включение блока произвольных полей WordPress

В выпадающем окне отмечаем чекбокс «Произвольные поля» и приступаем к созданию нового произвольного поля. Для этого заполняем поля «Имя» (латиницей) и «Значение», после чего жмем на кнопку «Добавить произвольное поле».

Создание нового произвольного поля WordPress


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

Сразу хочу заметить, что функция get_post_meta() может быть использована за пределами цикла WordPress. Таким образом, вы можете использовать ее в любом месте шаблона.

Создание блока произвольных полей WordPress для статических страниц и постов

Теперь давайте рассмотрим процесс создания блока произвольных полей для статических страниц и постов WordPress. В качестве примера мы добавим произвольные Title, Description и Keywords, а также мета-тег Robots.. Данный код нужно будет добавить в файл functions.php вашей темы оформления WordPress.

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

Чтобы вывести содержимое созданных произвольных полей, необходимо в нужном месте шаблона добавить следующий код:

Для вывода заголовка страницы (Title)

Для вывода описания (Description)

Для вывода ключевых слов (Keywords)

Для вывода мета-тега robots

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


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

dmitriydenisov.com

Зачем нужен Advanced Custom Fields?

Advanced Custom Fields (ACF) – это бесплатный плагин для добавления произвольных полей к записи, с удобным интерфейсом (в отличии от стандартных полей WP), широким выбором настроек, а также возможностью серьезного изменения с помощью плагинов.

Скачать плагин с репозитория WordPress

Зачем нужны произвольные поля?

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

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

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

Что умеет Advanced Custom Fields?


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

Список всех его возможностей довольно велик, но в нем есть все самое необходимое, а именно:

  • текст
  • текстовая область
  • номер
  • email
  • пароль
  • визуальный редактор WP
  • загрузка изображений и файлов
  • различные манипуляторы выбора
  • различные взаимоотношения между объектами wp (рубрики, страницы, записи, пользователи)
  • вставка Google карт
  • выбор цвета и даты

Поля на любой вкус и цвет. А вот так это выглядит при редактировании самой записи.

 

Выбрать куда вставить поле

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

  • запись
  • страница
  • пользователь
  • рубрики
  • поля для определенного формата записи (что это?)
  • прикрепление к определенному шаблону страницы
  • и много другое

Настройка области редактирования записи

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

Также есть прочие настройки по-мелочи, вроде стиля самих настроек и приоритет полей по отношению к другим элементам.

Как использовать?

1. Для начала установите плагин стандартным способом (как установить плагин?).
2. Далее в правой колонке найдите вкладку «Произвольные поля» и нажмите на нее.
3. После установки у вас еще нет полей. Давайте создадим новою группу полей нажав на «Добавить новую»

4. Назовите группу полей. Это имя будет в шапке настроек в записи.
5. Для добавления поля нажмите «Добавить поле», как ни странно 🙂

6. Назовите поле, задайте описание. И обязательно укажите «Имя поля» на английском. Оно нам пригодиться в будущем.
7. Поиграйтесь с настройками плагина, выберите нужные поля или их сочетания. Вы можете менять поля местами, и удалять их. Все наглядно и понятно.

8. Затем зайдите в таксономию, которую вы выбрали. В моем случае это запись. И наслаждайтесь результатом.

Все сохраняется, но поля не выводятся. Почему? Потому, что мы не добавили настройки полей в нашу тему. Тут вам понадобиться знание механики тем wordpress или помощь программиста. В принципе ничего дико сложного нет, но если вам не хочется тратить время, то можете обратиться к специалисту по wordpress.

Итак, далее работаем с темой. В нужное место вставим такой код.

<?php echo get_post_meta($post->ID, ' Имя поля ', true); ?>

Где «Имя поля» мы задали в пункте 6. О функции get_post_meta можно узнать тут:

О функции get_post_meta

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

Если вы хотите чтобы я более подробно разобрал тему именно установки и вывода настроек пишите об этом в комментариях!

Документация по ACF доступна на сайте разработчика. Ссылка ниже.

Документация по Advanced Custom Fields

Плюсы и минусы бесплатной версии ACF

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

Плюсы

  • удобный интерфейс
  • русский перевод
  • много настроек
  • бесплатно
  • возможности расширения
  • можно создавать свои поля (более подробно в документации)
  • постоянные обновления

Минусы

  • нельзя клонировать поля непосредственно в записи (количество полей строго ограничено и слайдер в бесплатной версии не добавить)
  • местоположение полей в теме строго фиксировано (нельзя вставить поле, куда нам захочется)
  • техподдержка и документация на английском
  • нужны базовые навыки программирования, чтобы плагин заработал

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

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

Стоит ли покупать платные дополнения для Advanced Custom Fields? (часть 2)

wp-book.ru

Custom Fields (произвольные поля) WordPress
Произвольные поля — думаю многие из Вас видели это меню в админ. панели при написании поста или страницы.
Произвольное поле (custom field) состоит из ключа (key) и его значения (value), и с помощью произвольных полей можно вывести практически любую информацию на Вашем блоге.

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

Пример 1
Например, нам нужно вывести маленькое изображение (превью) рядом с записью в какой нибудь категории. Для этого создадим папку my-image в папке wp-content/uploads/, и загрузим в нее нужные нам изображения. Далее, в нужном месте шаблона index.php (в папке Вашей темы) прописываем следующие:

<img src="http://ВАШ_САЙТ/wp-content/uploads/my-image/<?php echo get_post_meta($post->ID, "preview", $single = true); ?>" />

Например вот так:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>  <table>  <tr>  <td><img src="http://www.wp-info.ru/wp-content/uploads/my-image/<?php echo get_post_meta($post->ID, "preview", $single = true); ?>" /></td>  <td><a href="<?php the_permalink() ?>"><?php the_title(); ?></a>  <?php the_content(); ?></td>  </tr>  </table>  <?php endwhile; ?>  <?php endif; ?>

Теперь при создании записи в меню «произвольные поля» добавим новый ключ (key) — preview, а его значением (value) будет название нужной картинки, например: mypic.jpg.

В результате в нужном нам месте выведется картинка mypic.jpg.

<img src="http://ВАШ_САЙТ/wp-content/uploads/my-image/mypic.jpg" />

Пример 2
Это все хорошо, но если у какой-либо записи мы не указали произвольное поле preview, то ссылка на изображение получится битая:

<img src="http://ВАШ_САЙТ/wp-content/uploads/my-image/" />

Поэтому логично для каждого произвольного поля перед выводом проверять наличие значения для него:

<?php $image = get_post_meta($post->ID, 'preview', true); if($image !== '') { ?>  <img src="http://ВАШ_САЙТ/wp-content/uploads/my-image/<?php echo $image ?>" />  <?php } ?>

Пример 3
Можно также проверять на наличие значения для произвольного поля preview, и если оно отсутствует, то выводить дефолтовую картинку, например defpreview.gif:

<?php $image = get_post_meta($post->ID, 'preview', $single = true); ?>  <?php if($image !== '') { ?>  <img src="http://ВАШ_САЙТ/wp-content/uploads/my-image/<?php echo $image ?>" />  <?php }  else { ?>  <img src="http://ВАШ_САЙТ/wp-content/uploads/my-image/defpreview.gif<?php echo $image ?>" alt="Изображение отсутствует"/>  <?php } ?>

Конечно применений произвольных полей гораздо больше, но эти три примера созданы для того чтобы показать принцип работы с ними.
Источник: Sonika’s Blog

Если что то не понятно, не стесняйтесь спрашивать в комментариях, с удовольствием отвечу на все Ваши вопросы.

www.wp-info.ru

Custom Field Suite

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

Найдете модуль в официальном репозитории на этой странице. Текущая версия на момент написания статьи (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 с помощью соответствующей кнопки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

wordpressinside.ru

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

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

Создаем произвольные поля в WordPress

Прежде всего, вам нужно подключить их для вывода в постах. Для этого откройте любую запись на редактирование, нажмите вверху справа «Настройки экрана» и отметьте галочкой «Произвольные поля». Теперь отмотайте экран вниз и после редактора вы увидите соответствующий раздел. В нем вы можете создавать новые произвольные поля или выбирать уже созданные, а в поле «Значение» вписывать соответствующее значение поля (даже в html коде).

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

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

Произвольные поля wordpressТеперь останется только вывести созданные поля в шаблоне вашего сайта. Для этого откройте шаблон записей. У каждого файл будет разным, например, у меня он называется single.php. Затем вставьте внутри кода запись <?php the_meta(); ?>. Обычно, ее надо ставить перед подключением боковой панели и футера. Но вы можете поэкспериментировать, где лучше их оставить. Если найти файл записи не получается — перебирайте все php файлы, пока не сработает. На крайний случай вы можете поставить этот код где-нибудь в footer.php или header.php.

Теперь некоторые дополнительные плюшки при выводе полей для программистов.

Вывести значение определенного поля:

<?php echo get_post_meta($post->ID, ‘Рекомендую’, true); ?>

Проверить чему равно значение определенного поля:

<?php if(get_post_meta($post->ID, ‘Автор’, true) == «Сергей») {echo ‘Автор действительно сергей’;} ?>

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

blogjquery.ru

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

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

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

произвольное поле wordpress

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

произвольное поле wordpress

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

Нажимаем Добавить произвольное поле.

Теперь после добавления нового произвольного поля задаем параметры его отображения в шаблоне. Делается это с помощью php-кода следующей конструкции:

Разберем переменные кода:

post_id – id поста, из которого берутся произвольные поля. Важно! Любое созданное произвольноге поле будет иметь привязку к конкретной записи/странице, поэтому если Вы хотите, чтобы произвольное поле отображалось на всех страницах бога, необходимо указать id поста/страницы в виде $post_id=’1304′, к которому привязано произвольное поле. А если укажите $post->ID, то произвольное поле будет отображаться только в записи, к которой оно принадлежит.

Чтобы узнать id записи/страницы, в админпанели войдите в список записей/страниц, и наведите на запись/страницу, к которой привязано произвольное поле, курсор:

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

В URL-адресе и будет содержаться id интересующей записи/страницы.

key – имя произвольного поля, в нашем случае rota-ban.
single – в основном используется значение true. false используется в случае отображения всего массива данных с произвольными полями.

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

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

Теперь немного о минусе произвольных полей. Минус произвольных полей заключается в том, что они создают дополнительный запрос к базе данных. То есть использование произвольных полей «разгрузит» файлы шаблона блога от лишнего кода, но создаст дополнительную нагрузку на базу данных.

Использовать, или нет произвольные поля WordPress — решать Вам.

makoveckij.ru

Произвольные поля в кратце

Задача произвольного поля (custom field) очень простая – показать содержимое самого поля на сайте. Причем содержимым может быть практически что угодно, как простой текст, так и сложный код. А область применения произвольных полей на сайте ограничивается только вашей фантазией.

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

Произвольные поля в WordPress - административная часть

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

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

<?php echo get_post_meta($post->ID, 'имя произвольного поля', true); ?>

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

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

С принципом работы произвольных полей ознакомились, теперь нужно упростить процесс и использование произвольных полей. Не скрою, я очень часто пользуюсь произвольными полями на сайте, потому что мне кажется это очень удобным. А для работы с произвольными полями я использую один прекрасный русифицированный плагин — MaxSite — Произвольные поля.

Скачиваем плагин и заливаем в папку /wp-content/plugins/ . Плагин очень простой, но крайне полезный. Этот плагин работает следующим образом. В папке плагина есть файл conf.ini, где содержатся некоторые данные о используемых вами произвольных полях. Выглядит файл примерно так:

Файл плагина произвольных полей - conf.ini

Как видите в файле несколько текстовых блоков из нескольких строк. В первой строке блока пишется «Наименование произвольного поля», его можно писать русскими букавками, это наименование вы увидите в админке при создании очередной записи. Последняя строка – это «Имя произвольного поля». Именно это значение нужно будет подставлять в php код, когда нужно будет выводить значение произвольных полей через шаблон. И все что между первой и последней строкой – это параметры произвольных полей. Например произвольное поле можно сделать простым текстовым полем и вводить туда необходимое значение в админке, или сделать поле выпадающим списком и затем в админке просто выбирать значение, раннее вами предложенное.

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

Выводим изображение с помощью произвольного поля

Чтобы показать картинку через произвольное поле, я делаю так. Открываю файл conf.ini в текстовом редакторе и в самое начало файла вставляю вот этот код:

[Выводим картинку]  type = textfield  size = 50  mymeta = thumb

Сохраняю файл и загружаю обратно на сервер. Тем самым я создал контейнер для произвольного поля с именем «thumb», куда позже смогу ввести значение. Чтобы это поле отобразилось на сайте, в файл темы single.php в нужное мне место я вставляю вот этот код:

<?php  # выводим определенное произвольное поле  $my_meta = get_post_custom_values( 'thumb', $ID );  if ( $my_meta)  {  echo '<img src="';  foreach ( $my_meta as $val_key => $val_val ) echo $val_val . '" />';  }  ?>

Теперь в админке мне достаточно будет ввести адрес к картинке в контейнер произвольного поля с наименованием «Выводим картинку», и она появится в моей записи. Вот такое содержимое в административной части генерирует файл conf.ini:

Плагин произвольные поля -админка

Выводим простой текст с помощью произвольного поля

Подобным образом я могу вывести любой текст с помощью произвольного поля и применить к этому полю свойства определенного класса. Предположим, что мне необходимо вывести цену в одиночной записи и применить к этому полю css класс «cena». В файл conf.ini я добавляю строки:

[Цена объекта]  type = textfield  size = 50  mymeta = cena

А в файл single.php добавляю такой вот код:

<?php  # выводим определенное произвольное поле  $my_meta = get_post_custom_values( 'cena', $ID );  if ( $my_meta)  {  echo '<div class=”cena”>';  foreach ( $my_meta as $val_key => $val_val ) echo $val_val . '</div>';  }  ?>

Таим образом я вывожу в одиночной записи содержимое произвольного поля с именем «cena» и придаю этому содержимому свойства css класса «cena».

Если нужно просто вывести произвольное поле на сайт, достаточно следующего кода:

<?php  # выводим определенное произвольное поле  $my_meta = get_post_custom_values( 'сюда вставить имя произвольного поля', $ID );  if ( $my_meta)  {  foreach ( $my_meta as $val_key => $val_val ) echo $val_val . '';  }  ?>

Точно таким же образом выводится абсолютно любое произвольное поле и его содержимое. Таким образом полям удобно назначать какие-то классы или значения, заключать в ДИВЫ и тому подобное. В общем, все ограничивается вашей фантазией и поставленными задачами.

К файлу conf.ini  хотелось бы дописать несколько комментариев. Типы произвольных полей:

type = textfield – обычное техстовое поле

type = select – выпадающий список с предложенными значениями

type = checkbox – чекбокс или галочка в админке

type = textarea – расширенное текстовое поле

Ну вот в общем-то и все, что я хотел рассказать о произвольных полях.

www.onwordpress.ru


You May Also Like

About the Author: admind

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.