Произвольные поля в WordPress: Советы + Примеры кода - WPtuts.ru
В этой статье:

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

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

В этой статье мы покажем вам, как использовать произвольные поля в WordPress, расскажем несколько советов, хитростей и приемов.

Что такое произвольные поля в WordPress

Произвольные поля WordPress (Custom Fields) – это метаданные, которые используются для добавления дополнительной информации, относящихся к редактируемой записи или странице.

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

Первая часть – это текст вашего контента, который вы добавляете с помощью редактора записей/страниц.

Вторая часть – это информация об этом конкретном контенте. Например, название, автор, дата, время и многое другое. Эта информация о посте называется метаданными.

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

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

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

Произвольные поля в WordPress - nastroika parametrov jekrana redaktirovanija

Во всплывающем окне включите опцию “Произвольные поля” в разделе “Расширенные панели”. После этого нажмите “Включить и перезагрузить”, чтобы перезагрузить редактор. Перед включением заранее сохраните изменения в редакторе.

Произвольные поля в WordPress - otobrazit proizvolnye polja v wordpress 1

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

Произвольные поля в WordPress - dobavit novoe proizvolnoe pole wordpress

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

Эта метаинформация может отображаться в вашей теме. Однако для этого вам потребуется отредактировать файлы темы WordPress.

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

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

Как добавить произвольное поле в WordPress

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

Произвольные поля в WordPress - dobavit novoe pole wordpress

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

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

В примере мы ввели имя “Mood” (Настроение) и значение “Отличное”.

Далее вам нужно указать имя для вашего настраиваемого поля и затем ввести его значение. Нажмите кнопку “Добавить произвольное поле”, чтобы сохранить его.

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

Произвольные поля в WordPress - dobavili proizvolnoe pole

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

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

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

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

Найдите файл темы, который нужно отредактировать для отображения вашего произвольного поля. Например, если вы хотите вывести произвольное поле на странице записи, вам нужно отредактировать файл single.php или content-single.php. Эти файлы находятся в папке wp-content/themes/ваша-тема.

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

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

PHP
single.php

Также найдите следующую строку, в этом месте кончается цикл:

PHP
single.php

Теперь добавьте этот код в файл вашей темы:

PHP
single.php

Не забудьте заменить ‘key’ на имя вашего произвольного поля. К примеру так мы вывели произвольное поле в нашей тестовой теме:

PHP
single.php

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

Произвольные поля в WordPress - vyvod proizvolnogo polja v wordpress 1

Теперь вы можете использовать это произвольное поле во всех ваших записях.

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

Произвольные поля в WordPress - dobavlenie proizvolnogo polja k drugoi zapisi v wordpress

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

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

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

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

Чтобы решить эту проблему, добавьте следующий файл в functions.php вашей темы:

PHP
functions.php

В файл functions.php не нужно <?php и ?>, так как они уже есть в файле.

Приведенный выше код изменит ограничение до 50. Если вы всё ещё не видите добавленное произвольное поле, попробуйте увеличить это ограничение ещё больше.

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

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

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

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

Это делают многие популярные плагины. Например Yoast SEO, с помощью которого мы заполняем мета-теги добавляет пользовательский интерфейс для этого:

Произвольные поля в WordPress - zapolnenie meta tegov v yoast seo

Самый простой способ добавить пользовательский интерфейс для произвольных полей – это использовать плагин Advanced Custom Fields (ACF).

Произвольные поля в WordPress - icon 256x256

Advanced Custom Fields

Customize WordPress with powerful, professional and intuitive fields.

Elliot Condon

Использование плагина Advanced Custom Fields для добавления произвольных полей

Первое, что потребуется сделать – установить и активировать плагин Advanced Custom Fields. Также прочтите нашу подробную инструкцию, как устанавливать плагины в WordPress.

После активации плагина нужно перейти на страницу “Группы полей” и нажать кнопку “Добавить”.

Произвольные поля в WordPress - gruppy polei acf wordpress 1 1024x545

Группа полей – это контейнер с набором настраиваемых произвольных полей. Это позволяет добавлять несколько произвольных полей и группировать их.

Теперь вам нужно добавить название группы и нажать кнопку “Добавить поле”.

Произвольные поля в WordPress - sozdanie novoi gruppy polei acf wordpress 1

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

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

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

Произвольные поля в WordPress - dobavlenie proizvolnogo polja v acf

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

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

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

Произвольные поля в WordPress - acf meta pole pri redaktirovanii zapisi 1

Полезные советы по произвольным полям

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

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

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

Когда мы внесли правки в теме в шаблоне записи, мы автоматически добавили вывод текста перед произвольным полем. Но что, если произвольное поле у страницы не заполнено? У нас будет выводится “Наше настроение”, но никакого значения дальше выводиться не будет.

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

PHP
single.php

Не забудьте заменить “Mood” на имя вашего произвольного поля.

Добавление нескольких значений в произвольное поле

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

Произвольные поля в WordPress - neskolko znachenii v proizvolnoe pole wordpress

Однако код, который мы использовали в примерах выше, может выводить только одно значение.

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

PHP
single.php

Не забудьте заменить “Mood” на название вашего произвольного поля.

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

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

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

Например, если мы хотим создать страницу на которой будут выводиться только те записи, в которых произвольное поле Mood имеет значение “Отлично”, то мы можем использовать класс WP_Query. Это позволит нам получить все записи с нужным произвольным полем и значением.

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

PHP

Не забудьте заменить параметры meta_key и meta_value на свои значения.

Добавить имя автора гостевого поста используя произвольные поля

Вы хотите добавить гостевой пост, но не хотите добавлять нового пользователя, ради одного поста? Более простой способ сделать это – добавить имя автора гостевого поста в качестве произвольного поля.

Во-первых, добавьте следующий код в файл functions.php вашей темы.

PHP
functions.php

Этот код используем функции the_authorи get_the_author_display_name.

Сначала функция проверяет, есть ли гостевой автор. Если он есть, то имя автора заменяется на имя гостевого автора.

Теперь отредактируйте запись, в которой вы хотите вывести имя гостевого автора. Перейдите в редактирование произвольных полей, как мы рассказывали в начале статьи. Добавьте произвольное поле guest-author и введите имя.

Произвольные поля в WordPress - crop 0 0 758 431 0 vyvod gostevogo avtora s pomoshhju proizvolnyh polei

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

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

Исправить эту ситуацию можно с помощью плагина Co-Authors Plus.

Другой способ сделать это – добавить несколько авторов с помощью произвольного поля.

Откройте в редакторе нужную запись, в которой вы хотите добавить соавторов. Прокрутите вниз страницу до мета-поля произвольных полей и добавьте имена авторов. Название произвольного поля используйте – co-author.

Произвольные поля в WordPress - neskolko avtorov s pomoshhju proizvolnogo polja 1

Теперь добавьте этот код в файл вашей темы, где вы хотите вывести соавторов.

PHP

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

CSS
style.css

Вывод произвольных полей за пределами цикла WordPress

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

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

PHP

Не забудьте заменить key на название вашего произвольного поля.

Вывод пользовательского Header, Footer, Sidebar с помощью произвольных полей

Обычно большинство шаблонов WordPress используют одинаковые Header, Footer и Sidebar на всех страницах сайта. Существует несколько способов отображения разных Header, Footer, Sidebar на разных страницах сайта.

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

Произвольные поля в WordPress - svoi sidebar s pomoshhju proizvolnyh polei

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

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

PHP
single.php

Замените эту строку следующим кодом:

PHP
single.php

Этот код ищет произвольное поле sidebar и после нахождения отображает его в вашей теме. Например, если вы добавите wppost в качестве значения произвольного поля sidebar, код будет искать файл sidebar-wppost.php для вывода.

Вам нужно будет создать файл sidebar-wppost.php в папке вашей темы. Вы можете скопировать код из файла sidebar.php, чтобы этот код стал для вас отправной точкой.

Добавление произвольных полей в RSS-ленту WordPress

Хотите добавить дополнительные данные или контент для читателей вашей RSS-ленты? Используйте произвольные поля, чтобы управлять данными и добавлять контент в вашу ленту.

Добавьте следующий код в ваш файл functions.php:

PHP
functions.php

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

Управление заголовками в RSS-ленте с помощью произвольных полей

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

Добавьте следующий код в файл functions.php вашей темы:

PHP
functions.php

Далее отредактируйте запись, в которой вы хотите отобразить дополнительный текст в заголовке в RSS-канале. Добавьте произвольные поля guest-post и sponsored-post.

Произвольные поля в WordPress - polzovatelskie polja dlja zagolovka rss

Если какое-либо из этих двух произвольных полей будет иметь значение “true”, то перед заголовком будет добавлен соответствующий текст. Этот способ может использовать по разному и настроить вывод своего дополнительного текста.

Как установить срок публикации записи в WordPress с помощью произвольных полей

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

Одним из способов это сделать является ручное удаление записи или использование плагина Post Expirator.

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

Вам потребуется отредактировать файлы вашей темы и модифицировать цикл WordPress следующим образом:

PHP

Вам нужно будет отредактировать этот код в соответствии с вашей темой.

После добавления этого кода, вы можете добавить произвольное поле “expiration” к вашей записи. В значение впишите дату и время, когда срок публикации записи закончится. Формат даты: месяц/день/год 00:00:00.

Произвольные поля в WordPress - vremja istechenija zapisi s pomoshhju proizvolnyh polei 1

Присвоение стиля для определенных записей с помощью произвольных полей

Хотите изменить внешний вид определенной записи. с помощью CSS? WordPress автоматически присваивает к каждой записи свой собственный класс. Этот класс вы можете использовать для добавления пользовательского CSS для определенной записи или страницы.

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

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

Произвольные поля в WordPress - stil zapisi s pomoshhju proizvolnogo polja v wordpress

Теперь нужно отредактировать файлы темы WordPress и добавить этот код в начале цикла WordPress.

PHP

Найдите строку с функцией post_class(). Вот так вот может выглядеть эта строка:

PHP

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

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

PHP

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

Произвольные поля в WordPress - klass dlja zapisi s pomoshhju proizvolnyh polei

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


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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Написать комментарий

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

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: