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

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

Поставив отметку так, как показано на рисунке, вы увидите, как появится новый мета-бокс в режиме редактирования / написания новых постов.

В зависимости от плагинов и тем, которые установлены на вашем сайте, выпадающее меню в колонке ‘Имя’ уже может содержать какие-то произвольные поля. Но если сайт новый, то и полей может не быть.

Перед созданием нового произвольного поля давайте посмотрим на то, что собой представляют эти поля и как можно их использовать. У каждого поля есть 2 части: Имя поля и его Значение. В Значении написан контент. Также там можно указать и веб-адреса наряду с обычным текстом.

Зачем вам может понадобиться произвольное поле?

Пример использования произвольных полей мы рассмотрим на сайте, посвященном фитнес-тематике. Часть информации, которую можно добавить к основному посту, можно дополнить авторской информацией.

Для нашего фитнес-сайта мы добавим произвольное поле для отображения данных по недавней тренировке под названием ‘Последняя тренировка’. Для создания нового поля просто кликнем на ссылку ‘Введите новое’ и заполним название поля, а далее нажмем на кнопку добавления нового поля ‘Добавить произвольное поле’.

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

К примеру, можно также включить такие произвольные поля:

  • Для фудблога – ‘Свежие блюда
  • Для музыкального блога – ‘Сейчас слушаю
  • Для шоппинг-блога – ‘Свежая покупка
  • Для блога рецензий – ‘Скачать / Ссылка на продукт

Любую интересующую ваших читателей дополнительную информацию можно включить в произвольное поле.

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

Произвольные поля отображаются на экранах в рубрике ‘Добавить новую запись’ или ‘Редактировать запись’. Произвольному полю можно присвоить различные значения в зависимости от того, какую функцию выполняет поле. Также можно сделать их обязательными полями для публикации поста (заполнять, преждем чем опубликовать). Это очень удобно, если у вас несколько разных авторов.

Что делать с данными?

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

Для этого надо внести несколько правок в файлы вашей темы. Для примера рассмотрим стандартную тему Twenty Twelve и для этого в панели администратора перейдем к Внешний вид → Редактор и выберем файл ‘content.php’.

Также неплохо бы создать резервную копию файла ‘content.php’ перед началом редактирования. Быстрый способ сделать такую резервную копию – это скопировать код и вставить в новый документ. Если с файлом возникнут какие-то трудности, всегда можно быстро в ручном режиме вставить обратно весь сохраненный код из Блокнота или загрузить его по FTP в папку с темой на сервере.

Теперь надо добавить следующую строку кода для отображения произвольных полей и содержимого этих полей: <?php the_meta(); ?>

Чтобы произвольное поле было частью нового поста, поищите строку с кодом <div class="entry-content"> и вставьте под ней <?php the_meta(); ?> с новой строки:

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

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

Вот главное, что вы должны знать о произвольных полях для сайтов на WordPress. Для расширенной работы с произвольными полями используйте плагин Advanced Custom Fields.

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

  • Поля с графикой и галереи фотоснимков
  • Загрузка файлов
  • Переключатели и кнопки для списков
  • Ссылки на страницы
  • Информация о пользователе
  • Выбор даты и времени

С помощью данного плагина можно полностью задать все свойства и настройки для каждого произвольного поля.

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

Заключение

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

Если у вас возникли какие-то вопросы или пожелания, не стесняйтесь спрашивать в комментариях к этому посту.

Источник: wplift.com

Вам понравился материал?

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

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

25 комментариев

сначала новые
по рейтингу сначала новые по хронологии
Владимир

Добрый день!

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

Здраствуйте, спасибо за урок! Подскажите пожалуйста, я хочу на сайте http://www.lavka-zap/shop в категории «Каталог» убрать весь товар, сортировку и т.д., оставить все кроме самих товаров, а добавить туда как раз новые поля типо как в разделе «Ремонт». Все пытаюсь сделать, но никак не выходит, боюсь еще напортачу что-нибудь с кодом, а по этой части я новичок. Опишите пожалуйста, как мне добиться результата. Буду очень благодарен!

Здравствуйте, спасибо за разъяснение плагина, установил, код добавил для отображения полей в файл content.php под строку Ура! отобразились толь правда типы ТХТ (текстовые) . Теперь в поле указываю тип Page Link - а отображается Номер вместо ссылки, ну и с картинкой так же - не отображается. Как вариант отображения получилось через тип поля -Wysiwyg Editor, с него отобразилась и картинка и ссылка, но корявенько, атрибуты картинки не укажешь- абзацы о себе говорят. Вопрос в каком файле конкретно и какой код нужен, ато в документации плагина не пойму. Спасибо!

кстати тема у меня Twenty Twelve

Подскажите пожалуйста как можно указать атрибут nofollow для ссылок на сторонние ресурсы, размещенных в произвольных полях? Заранее признательна!

У меня дочерняя тема и там нет файла content.php Вствила в родительский content.php ничего не изменилось.

Алексей

Логично ли использовать произвольные поля для создания каталога? Хочу сделать каталог школьных задач, чтобы добавлять их списками по 5-10 штук в уже существующие посты (сортируя по темам и другим параметрам (типа сложность, класс)). Есть ли какой подходящий плагин для того, чтобы попробовать эту идею? Если да, то по каким ключевым словам его стоит искать?

Радомир

Поставил на сайт Wordpress плагин ACF PRO, с помощью его настроил вывод дополнительных полей в админке сайта,
сделал поле вывода названия записей со ссылками на них, загвостка возникла при выводе поля ссылки на материал в шаблоне сайта.

Вывел функцией:

А у меня похожая проблема плагин ACF бесплатный, а вывод ссылок типа Page Link для записей отображаются в виде цифр (id страницы) а не как ссылка, уже устал искать и спрашивать

Как отфильтровать по произовльному полю, тип которого дата

Индиго

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

Здравствуйте, скажите как сделать сортировку по произвольным полям ACF ? К примеру я к каждой записи есть текстовое поле куда я заношу числовое значение от 1 до 100, и на странице где записи идут списком я хотел бы вставить фильтр с возможностью сортировки по убывающей и по возрастающей

Допустим, выводим произвольное поле с гарантией.

<?php
$my_meta = get_post_custom_values( 'garant', $ID );
if ( $my_meta)
{
echo 'Гарантия:';
foreach ( $my_meta as $val_key => $val_val ) echo $val_val . '';
}
?>

Нужно сделать так, чтобы при гарантии "24 месяца" выводился "определённый текст", а при гарантии "12 месяцев" выводился "другой текст". То есть, если гарантия = (строго равно) "24 месяца", выводится "текст1". Если гарантия = "12 месяцев", выводится "текст2". Помогите, пожалуйста, разобраться. Заранее благодарю.

Андрей

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

Добрый день! Стандартный поиск WordPress не умеет искать по произвольным полям и метаданным. Нужно искать другое решение. Посмотрите наши уроки: https://wpcafe.org/plugins/sozdaem-rasshirennyiy-poisk-na-wordpress-po-taksonomii-i-metadannyim/
https://wpcafe.org/tutorials/uluchshaem-poisk-po-wordpress-saytu-7-besplatnyih-plaginov/
https://wpcafe.org/plugins/10-plaginov-dlya-zamenyi-standartnoy-poiskovoy-formyi-v-wordpress/

Привет, а как сделать поле ввода для произвольного поля на самом сайте, а не в админке вп?

Что делать в лучае, если в теме отсутствует файл content.php ?

А зачем вам этот файл в теме? Это не стандартный шаблон, он не должен присутствовать в каждой теме по умолчанию.

Сергей

Такая проблема. После сохранения статьи само собой добавляется поле "views". Почему и как с ним бороться? Спасибо!

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

Михаил

У меня подобная проблема, произвольно добавляются 4-5 произвольных полей, ни как не могу разобраться как с этим справиться, может вы мне сможете помочь ?

Большое спасибо за статью!

Остался вопрос, как сделать так, чтобы значения имя произвольного поля на странице выводились на кириллице?

Например, если имя произвольного поля "price", а мне нужно вывести "цена", что добавить к коду ?

Разобралась,спс

chumachkin_m

Advanced Custom Fields использует библиотеку jQuery UI.

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

В случае, если вам надо чуть лучше функционал чем есть в стандартной jQuery UI библиотеке, лучше не использовать данный плагин.