WordPress произвольные поля: Как создать блок произвольных полей (метабокс) в админке WordPress – Произвольные поля в WordPress: простое руководство для начинающих

Содержание

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

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

В WordPress по умолчанию имеется возможность для каждого поста (любого типа, будь то запись post, страница page или какой-нибудь произвольный тип постов) задавать неограниченное количество параметров. На этот случай имеется даже отдельная таблица в базе данных wp_postmeta.

Эти параметры называются произвольными полями или метаданными поста. Метаданные состоят из пар ключ=>значение, например color=>красный, size=>большой.

Также один пост может иметь несколько произвольных полей с одним и тем же ключом: color=>красный, color=>синий, color=>зелёный.

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

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

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

Итак, пошагово:

  1. Переходим на страницу редактирования или создания нового поста.
  2. Прокручиваем вниз до блока «Произвольные поля».

    В версии WordPress 3.1 и выше этот блок может быть скрыт. Включите его в настройках экрана (о том как — читайте далее).

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

Что делать, если в админке их нет?

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

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

Если же в настройках экрана вы ничего подобного не нашли, то вероятнее всего тип поста, с которым вы работаете, не поддерживает использование произвольных полей — это легко поправимо при помощи add_post_type_support(). Код для functions.php:

function true_custom_fields() {
	add_post_type_support( 'book', 'custom-fields'); // в качестве первого параметра укажите название типа поста
}
 
add_action('init', 'true_custom_fields');

Типы постов page (страницы) и post (записи) имеют поддержку произвольных полей по умолчанию!

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

1. the_meta()

Функция позволяет вывести все произвольные поля текущего поста в виде маркированного списка <ul>. Например для нашего случая код:

<p>Метаданные поста:</p>
<?php the_meta(); ?>

Выведет:

<p>Метаданные поста:</p>
<ul>
<li><span>color:</span> красный, синий, зеленый</li>
<li><span>size:</span> большой</li>
</ul>

Параметров у функции нет.

2. get_post_meta()

Про get_post_meta() я уже подробно писал здесь.

3. get_post_custom()

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

print_r( get_post_custom( 541 ) );

Получим что-то вроде этого:

[color] => Array ( [0] => красный [1] => синий [2] => зеленый )
[size] => Array ( [0] => большой ) )

В отличие от функции the_meta(), get_post_custom() возвратит также и все скрытые произвольные поля поста.

4. get_post_custom_keys()

Функция возвращает массив ключей всех произвольных полей поста.

print_r( get_post_custom_keys( 541 ) );

Выдаст:

Array ( [0] => color [1] => size )

Является производной от get_post_custom(), а если быть точным, то просто пропускает её результат через php-функцию array_keys().

5. get_post_custom_values()

Возвращает один из ключей функции

get_post_custom() в виде массива, вне зависимости от количества аргументов.

print_r( get_post_custom_values( 'size', 541 ) );
[size] => Array ( [0] => большой ) )

Первый параметр функции обязателен (если вы его не укажите, будет возвращено null).

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

Ну во-первых, вы можете добавлять и изменять их через админку (об этом было написано выше). Во-вторых, для этих целей существует несколько функций.

1. update_post_meta()

Либо обновляет значение указанного произвольного поля, либо добавляет новое, если его не существует.

update_post_meta( $post_id, $meta_key, $meta_value, $prev_value = '' )
$post_id
(целое число) ID поста, метаданные которого нужно изменить.
$meta_key
(строка) ключ.
  • Если пост содержит несколько значений для одного и того же ключа, то, если не указан параметр $prev_value, будет обновлено первое найденное значение.
  • Если пост вообще не содержит метаданых с указанным ключом, тогда они будут добавлены.
$meta_value
(целое число|строка|массив) устанавливаемое значение.
$prev_value
(целое число|строка|массив) предыдущее значение параметра.

Пример:

update_post_meta( 541, 'color', 'белый', 'синий');

2. add_post_meta()

Добавляет метаданные для указанного поста.

add_post_meta( 541, 'color', 'желтый' ); // добавляем ещё один цвет к трем имеющимся

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

  • false — нужно (стоит по умолчанию),
  • true — не нужно, ключ должен быть уникален.
    add_post_meta( 541, 'size', 'огромный', true );

    Предположим, что наш товар может иметь только один размер, поэтому второе произвольное поле с ключом size добавлено не будет.

3. delete_post_meta()

Удаляем метаданные для указанного в параметрах поста.

delete_post_meta( 541, 'color' ); // в параметрах - ID поста и ключ произвольного поля

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

delete_post_meta( 541, 'color', 'зеленый' );

Фильтр, поиск и сортировка по произвольным полям

Про это уже написан целый пост, вы можете найти его по этой ссылке.

Произвольные поля для рубрик и меток

Сам по себе WordPress не имеет поддержки метаданных для таксономий (рубрик, меток и пр.), но в этом вам может помочь плагин Meta for taxonomies.

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Что такое произвольные поля WordPress и зачем они нужны?

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

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

Иногда бывают ситуации, что этим пользователям нужно дать возможность изменить какую-то часть записи или страницы WordPress. Главное, чтобы они могли сделать это так, чтобы не пришлось работать с какими-то веб-технологиями и программированием (HTML, CSS, PHP и.т.д.). Чтобы пользователю не нужно было бы вникать во все это.

Давайте предположим себе ситуацию, что у нас есть некая страница на блоге WordPress, которая содержит информацию о какому-то товаре (см. видео).

У этого товара есть некие характеристики: материал из которого он сделан, применение, длина, …

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

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

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

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

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

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

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

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

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

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

Что такое пользовательские поля WordPress

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

Специализированный хостинг для сайтов на WordPress!Специализированный хостинг для сайтов на WordPress!
Hostenko - Лучший WordPress хостингHostenko - Лучший WordPress хостинг

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

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

Почему лучше использовать настраиваемое поле, чем просто записать что-то в текст записи? Потому что, с этими данными намного проще работать. Теперь вы можете:

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

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

  • Events plugin, который использует настраиваемые поля для хранения дат событий, цен и других данных.
  • eCommerce plugin, использует настраиваемые поля для хранения цен на товары, деталей и т. д.
  • Directory plugin, этот плагин использует настраиваемые поля для хранения информации о каждом элементе в вашем каталоге.

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

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

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

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

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

1. Toolset

Пользовательские поля WordPress: все, что нужно для начала работы

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

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

Toolset – это премиальное решение с планами, начинающимися с 69 долларов.

2. Advanced Custom Fields

Пользовательские поля WordPress: все, что нужно для начала работы

Пользовательские поля WordPress: все, что нужно для начала работы Advanced Custom Fields – это популярный плагин, который добавляет различные новые типы полей через простой и удобный интерфейс. Плагин предоставляет возможность отображения полей через PHP или шорткоды.

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

Базовая версия доступна бесплатно на WordPress.org, а Pro версия стоит всего 25 долларов.

3. Pods

Пользовательские поля WordPress: все, что нужно для начала работы

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

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

Плагин на 100% бесплатный.

4. Meta Box

Пользовательские поля WordPress: все, что нужно для начала работы

Пользовательские поля WordPress: все, что нужно для начала работы Meta Box – еще один популярный плагин для настраиваемых полей WordPress, который работает с подходом, аналогичным Advanced Custom Fields.

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

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

Базовая версия бесплатна на WordPress.org, а также есть ряд бесплатных и платных расширений, которые добавляют больше функциональности.

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

Как работать с произвольными полями в WordPress с помощью плагина Meta Box

Пример отображения пользовательских полей WordPress в плагине Toolset

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

Для создания пользовательских полей с помощью Toolset вам понадобится модуль Types и для отображения этих настраиваемых полей – модули Views или Layouts.

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

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

Шаг 1: Доступ к интерфейсу пользовательских полей

После того, как вы установили Toolset, перейдите к новой Toolset области в панели управления WordPress.

Там найдите тип записи, к которому вы хотите добавить пользовательские поля – в нашем примере «Запись» – и нажмите кнопку «Добавить пользовательские поля»:

Пользовательские поля WordPress: все, что нужно для начала работы

Пользовательские поля WordPress: все, что нужно для начала работы

Шаг 2: Выберите тип поля

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

Для этого примера – отслеживание веса, который вы поднимаете для конкретного упражнения – понадобится тип числовое поле:

Пользовательские поля WordPress: все, что нужно для начала работы

Пользовательские поля WordPress: все, что нужно для начала работы

Шаг 3: Настройте поле

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

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

Пользовательские поля WordPress: все, что нужно для начала работыПользовательские поля WordPress: все, что нужно для начала работы

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

Например, вы могли бы сначала создать набор блоков radio, в которых перечислены ваши тренировки (push, pull, low и другое ). Затем можно использовать условную логику для отображения только определенных подъемов, которые применяются к выбранной вами тренировке.

Шаг 4: Повторите и сохраните

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

Дайте вашей группе полей имя (это имя для коллекционирования всех пользовательских полей) и нажмите Сохранить группу полей:

Пользовательские поля WordPress: все, что нужно для начала работы

Пользовательские поля WordPress: все, что нужно для начала работы

Шаг 5: Добавление данных пользовательских полей в редакторе WordPress

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

Например, так выглядит набор боксов radio для типа тренировки:

Пользовательские поля WordPress: все, что нужно для начала работы

Пользовательские поля WordPress: все, что нужно для начала работы

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

Пользовательские поля WordPress: все, что нужно для начала работы

Пользовательские поля WordPress: все, что нужно для начала работы

Шаг 6: Показать на веб-интерфейсе

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

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

Пользовательские поля WordPress: все, что нужно для начала работы

Пользовательские поля WordPress: все, что нужно для начала работы

Для этих задач также можно использовать редактор Elementor Pro.

Elementor Pro для отображения данных пользовательских полей

С премиальной версией Elementor – Elementor Pro – вы можете динамически включать настраиваемые поля в свои конструкции Elementor через простой интерфейс.

В настоящее время Elementor Pro работает со всеми плагинами, перечисленными выше:

  • Toolset,
  • Advanced Custom Fields,
  • Pods,
  • Meta Box (с бесплатным расширением).

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

Чтобы вставить данные настраиваемого поля в Elementor Pro, используйте новую опцию Динамический, которая добавляется к существующим виджетам. Например, вы должны добавить обычный виджет текстового редактора, а затем использовать параметр «Динамический» для вставки информации из настраиваемого поля.

Пользовательские поля WordPress: все, что нужно для начала работы

Пользовательские поля WordPress: все, что нужно для начала работы

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

Hostenko - Лучший WordPress хостингHostenko - Лучший WordPress хостинг

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

Специализированный хостинг для сайтов на WordPress!Специализированный хостинг для сайтов на WordPress!

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

Произвольные поля WordPress: пошаговое руководство пользования, советы

Произвольные поля WordPress (WP) отображаются в различных формах и размерах. Некоторые включают флажки и списки. Другие могут поставляться со средством выбора даты. Есть и такие, которые принимают только определенные символы, например, числа. Как и большинство функций WP, добавляют их к сообщениям и страницам через плагин или вручную без плагина произвольных полей WordPress. В англоязычной литературе этот термин имеет название «пользовательские поля».

О платформе WordPress

WordPress (WP) - это лучшая платформа с открытым исходным кодом для быстрого создания блогов. Его популярность и сила - это сообщество Custom Fields, которое участвовало в интенсивном развитии проекта и занимало лидирующие позиции в CMS в течение последних 15 лет.

В настоящее время WP является самой популярной CMS в мире, которая поддерживает около 30% веб-сайтов. Эта статистика касается только публичных сайтов. Существует также большое количество безучетных сайтов, например, частные сайты, количество которых никто точно не знает. Результат многолетней истории развития бренда – это возможности для многомиллионных пользователей с базой в 45 000 плагинов и порядком 6000 тем, официально опубликованных на сайте WordPress.

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

В WordPress существуют основные типы объектов: «пост», «пользователь», «комментарий», «таксономия» и «медиа». Они содержат только необходимые поля, предоставленные WP для их описания. Например, заголовок для продукта или сообщения, имя пользователя и название категории.

Произвольные метаданные

Произвольные метаданные

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

Например, если нужно изобразить объект «пост о товаре», нужна дополнительная информация о цене, количестве и качестве. Таким образом, вместо добавления столбцов в таблицу данные дополнительной информации будут сохранены в метаданные, а затем связаны с Post. Он становится продуктом, когда используются метаданные. Если пользователь больше не захочет, чтобы это был "продукт", можно связать его с произвольными полями WordPress, например, с ценой и пространством, поэтому Post становится Room без изменения его фундаментальных данных.

Эта чрезвычайно интересная и гибкая функция является основой для роста WordPress. Для того, чтобы пользователи могли добавлять, удалять или редактировать данные, должен быть инструмент для манипулирования ими - это произвольные поля, функция, которая помогает создавать формы для взаимодействия с метаданными (МД).

Настраиваемые поля

Если интерфейс (UI) произвольных полей отсутствует, единственный способ добавлять, удалять или редактировать МД - это использовать код с помощью функций, предоставляемых платформой. Фактически понятие МД редко упоминается, потому что это технический термин, скрытый в WP. И когда дело доходит до настраиваемых полей, обычно понимают, что они включают как интерфейс, так и МД.

Основные типы объектов

Настраиваемые поля создают формы, чтобы пользователь мог добавлять необходимые метаданные. В разделе МД основными типами объектов являются Post, User, Comments, Media и другие. Все эти объекты имеют собственные настраиваемые поля, которые можно увидеть при редактировании.

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

  1. Текстовое поле, например, имя, адрес.
  2. Поле изображения, например, изображение профиля, значок.
  3. Поле загрузки файла - загрузка файла PDF, загрузка счета.
  4. Поле редактора - краткое описание, вводный текст.
  5. Поле отношений - поле ссылки на другие типы объектов.
  6. Поле повторителя.
  7. Поле URL - веб-сайт, профиль в социальных сетях.
  8. Поле выбора - опция из предопределенного списка.

Варианты настройки

Варианты настройки

Для того, чтобы добавить такие настраиваемые поля в WordPress, существует три варианта:

  • использовать стандартные функции WP по умолчанию;
  • использовать ручную настройку функции WP;
  • использовать плагины.

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

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

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

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

МД и настраиваемые поля предоставили WP огромную возможность настройки для удовлетворения потребностей 30% веб-сайтов в мире во всех отраслях. Когда пользователь работает с WP, даже если создает простейший блог, он не может игнорировать произвольные поля.

С другой стороны, они являются причиной многих споров. Некоторые люди говорят, что это делает запрос медленнее, а другие - что он не подходит для масштабирования. Чтобы узнать правду, нет другого способа, кроме как самому испробовать и узнать больше о построении WordPress и запросе данных из БД произвольных полей.

Установка полей через плагин

Установка полей через плагин

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

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

Для начала нужно будет установить и активировать плагин. Открывают панель управления WP и нажимают «Плагины»> «Добавить новый». Затем находят «Дополнительные» в поле поиска и нажимают «Установить сейчас». Дожидаются появления кнопки «Активировать» и нажимают «Установить».

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

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

  1. Сначала нажимают кнопку «Добавить поле» вверху страницы, выбирают, как будет называться ярлык этой новой группы. На этом этапе также выбирают, какой тип поля нужно настроить, например, поле с именем E-mail.
  2. Теперь можно описать, для чего это поле, чтобы пользователи сайта знали, что делать в этом разделе. Это условие не обязательно выполнять, но оно является примером хорошей практики.
  3. Далее необходимо указать, является ли это поле обязательным или нет. В этом случае пользователи смогут сохранять сообщения или страницы только после их заполнения.
  4. Есть и другие расширенные настройки, которые можно использовать.
  5. Закрывают редактор, и новое поле, которое было создано, появится в списке групп.
  6. Включают опцию, которая называется Show This Field If, ее можно использовать для настройки параметров отображения.
  7. Если нужно добавить более одного местоположения для отображения нового настраиваемого поля WP, то выполняют это с помощью кнопки «Добавить правило группы».
  8. Далее нажимают кнопку «Опубликовать» и сохраняют новое настраиваемое поле. На этом этапе оно уже должно работать.
  9. Открывают редактор в одном из сообщений и проверяют конец страницы.

Используют плагин Advanced Custom Fields для создания поля, но не для его отображения на сайте. По умолчанию, поле будет отображаться только на панели мониторинга, а введенная информация будет храниться в базе данных. Если нужно, чтобы метаданные были видны посетителям сайта, необходимо отредактировать файлы для темы.

Ручная настройка

Ручная настройка

Можно добавить поля WP вручную и отредактировать тему для их отображения. Самым сложным является настройка темы для отображения метаданных, которые вводят в эти поля.

Алгоритм настройки.

  1. Для того, чтобы добавить произвольное поле WordPress на одну из страниц или сообщений, открывают редактор WP. Находят раздел «Параметры экрана» в верхней части страницы, нажимают и получают доступ к разделу, где можно выбрать, какие поля WP будут отображаться по умолчанию.
  2. Выбирают опцию под названием «Произвольные поля», после этого в нижней части экрана появится поле.
  3. Добавить поле просто, для этого нужно нажать функцию «Добавить» и создать имя для него.
  4. После ввода значений нажимают «Добавить» внизу страницы, чтобы сохранить их. Можно создать столько записей, сколько требуется. Как и при использовании плагина произвольных полей WordPress, введенные данные будут сохранены вместе с постом.
  5. Пользователям не будет доступен просмотр контента в общедоступном режиме сайта. Чтобы это произошло, нужно сообщить тему, отредактировав функцию WordPress loop. Этот цикл сообщает WP, какие данные он должен отображать, когда пользователь получает доступ к сайту. В большинстве случаев эта информация включает в себя заголовок сообщения или содержание и любую другую информацию.

Редактирование цикла тем

Редактирование цикла тем

Для редактирования тем необходимо получить доступ к файлам сайта с помощью протокола передачи файлов (FTP) или Filezilla, если еще не настроен FTP-клиент.

После того, как FTP настроен, переходят в каталог public_html/wp-content/themes. При открытии находят папку, которая соответствует активной теме на сайте.

  1. Открывают папку и находят файл single.php. Этот файл определяет индивидуальное отображение сообщения и содержание цикла. Чтобы изменить его, нажимают правой кнопкой мыши на файл и выбирают параметр «Просмотр/редактирование», который будет использовать текстовый редактор по умолчанию для открытия. Затем находят цикл внутри файла.
  2. Теперь нужно вставить несколько строк данных и создать метаданные.
  3. В этом случае включают краткий обзор, который будет отображаться рядом с адресом электронной почты и сохраняться в настраиваемом поле. Таким образом, отображение будет в конце статьи, но перед разделом комментариев. Можно включить код в различные места, чтобы метаданные отображались.

Встроенная функция пользовательских данных

Для того, чтобы добавить новое сообщение или отредактировать его, нажимают «Параметры экрана».

Использование встроенной функции.

  1. Устанавливают флажок «Произвольные поля».
  2. Появляется поле в области редактора. По умолчанию, эта функция работает только с сообщениями. Если нужно, чтобы она поддерживала пользовательские типы записей, объявляют ее в опциях поддержки при регистрации: 'support' => array ('title', 'editor', 'thumbnail', 'custom-fields').
  3. В области «Произвольные поля» появятся строки для заполнения данных. Эта форма довольно простая: произвольное имя для настраиваемого поля используется в качестве ключа в простом тексте настраиваемого поля. Хотя это текстовое поле, оно довольно гибкое. Оно может сохранить любые данные, которые могут быть преобразованы в текст: простой текст, HTML, XML, SVG, JSON.
  4. Сохраняют значение WordPress произвольного поля.
  5. Добавляют дополнительные данные в настраиваемое поле, эта функция также называется полями клонирования в Meta Box или полями повторителей в других плагинах.

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

Самостоятельная обработка настраиваемого поля

Часто используемые функции показывают список полей во внешнем интерфейсе в упорядоченном списке, предоставляют настраиваемое значение полей в массиве ключ/значение, возвращают массив ключей всех полей, массив всех значений настраиваемого поля $key.

Вывод настраиваемого списка

Если нужно, чтобы вывод произвольных полей WordPress отображался сразу после заголовка публикации как в архиве, так и на отдельной странице, добавляют the_meta() функцию в файл template-params/post/content.php.

Вывод настраиваемого списка

Настраиваемые поля - это способ для WP хранить произвольные дополнительные данные для контента, такие как имя автора, дата публикации книги. Чтобы сделать настраиваемые поля гибкими и совместимыми с различными видами данных, WP разрабатывает мета-таблицы (мета-пост, мета-термин, мета-пользователь и мета-комментарий) в форме "ключ-значение".

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

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

Пользовательские таблицы

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

Такая структура данных очень понятна, но может стать большой проблемой для многих разработчиков WordPress. Чтобы упростить работу для пользователей Meta Box, можно использовать расширение MB Custom Table, чтобы создать таблицы для обработки данных о получении/сохранении из произвольных полей и предоставлении класса кэша для повышения производительности.

Плюсы создания таблиц:

  • очищают структуру данных;
  • выполняют запрос по настраиваемым полям и создают сложные запросы;
  • настраиваемые поля сохраняются в одной строке.

Минусы:

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

Области применения

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

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

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

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

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

Произвольные поля в WordPress: Советы, трюки и хаки. Часть 2

Этот пост является продолжением статьи Произвольные поля в WordPress: Советы, трюки и хаки. Часть 1.

А теперь перейдем к самой коллекции советов, трюков и хаков...

Использование Произвольных полей с условными операторами

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

<?php $songs = get_post_meta($post->ID, 'songs', true);

//Проверка на существование поля Songs

if ($songs) { ?>

Listening to: <?php echo $songs; ?>

<?php } //если такого поля нет тогда отображаем следующее

else { ?>

Listening to: Nothing (Grooveshark is under maintenance)

<?php } ?>

Использование Произвольных полей в качестве условных операторов

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

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

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

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

query_posts('meta_key=music');

Запрос вернет записи с произвольным полем music.

А если вы хотите, чтобы отобразились только те записи, где в произвольном поле music есть значение Eminem, тогда нужно оформить код следующим образом:

query_posts('meta_key=music&meta_value=Eminem');

Как отобразить кнопку Digg в записях с определенным произвольным полем

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

Просто вставьте следующий код в файл single.php во внутрь цикла:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<?php

// проверка на digg

$digg = get_post_meta($post->ID, 'Digg', $single = true);

// где отображать кнопку digg

if($digg !== '') { ?>

<script type="text/javascript">

(function() {

var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];

s.type = 'text/javascript';

s.async = true;

s.src = 'http://widgets.digg.com/buttons.js';

s1.parentNode.insertBefore(s, s1);

})();

</script>

<a></a>

<?php }

// если кнопки digg нет

else { echo ''; } ?>

Чтобы в записях появилась кнопка Digg, нужно создать произвольное поле с именем “Digg” со значением “true”.

Источник: How to Add a Digg Button Using Custom Fields

По такому же принципу можно сделать кнопку Like для соц. сети Facebook.

Перезапись имени Гостевого Автора с помощью Произвольного поля

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

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

add_filter( 'the_author', 'guest_author_name' );

add_filter( 'get_the_author_display_name', 'guest_author_name' );

 

function guest_author_name( $name ) {

global $post;

 

$author = get_post_meta( $post->ID, 'guest-author', true );

 

if ( $author )

$name = $author;

 

return $name;

}

И так, когда вы публикуете гостевую запись, не забудьте указать в произвольном поле guest-author имя и фамилию автора.

Пример:

Add guest author name with Custom Fields

Источник: How to rewrite Guest Author Name with Custom Fields in WordPress

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

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

<?php

global $wp_query;

$postid = $wp_query->post->ID;

echo get_post_meta($postid, 'Your-Custom-Field', true);

wp_reset_query();

?>

В коде нужно поменять “Your-Custom-Field” на имя вашего произвольного поля.

Источник: How to Display Custom Fields outside the loop in WordPress

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

Header, Footer и Sidebar остаются одинаковыми во всех записях и страницах в WordPress. Но, если вы создаете уникальный дизайн и хотите, чтобы у вас были различные меню, заголовки, подвалы в каждой записи, тогда это можно реализовать с помощью произвольных полей. Откройте single.php или page.php и найдите следующий код:

Замените его на следующий:

<?php

global $wp_query;

$postid = $wp_query->post->ID;

$sidebar = get_post_meta($postid, "sidebar", true);

get_sidebar($sidebar);

wp_reset_query();

?>

Теперь, когда вы будете публиковать запись или страницу с уникальным сайдбаром, вам нужно будет добавить произвольное поле “sidebar” и указать в нем имя файла этого сайдбара. На пример, если вы укажете “wpbpage”, то отобразится sidebar-wpbpage.php, как новый сайдбар.

Custom Sidebar in WordPress using Custom Fields

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

Используя эту технику, вы можете изменить и header и footer.

Источник: Display Different Sidebar for Each WordPress Post

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

Если вам нужно показывать определенный контент только RSS-подписчикам, тогда вам и здесь помогут Произвольные поля. В первом примере мы вам покажем, как можно использовать Произвольные поля для отображения текста/объектов вашей RSS-ленты. Сначала откройте functions.php и вставьте следующий код в тэги php:

function wpbeginner_postrss($content) {

global $wp_query;

$postid = $wp_query->post->ID;

$coolcustom = get_post_meta($postid, 'coolcustom', true);

if(is_feed()) {

if($coolcustom !== '') {

$content = $content."<br /><br /><div>".$coolcustom."</div>\n";

}

else {

$content = $content;

}

}

return $content;

}

add_filter('the_excerpt_rss', 'wpbeginner_postrss');

add_filter('the_content', 'wpbeginner_postrss');

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

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

Например, если ваша статья называется Start Microblogging in WordPress with Wumblr и это спонсорская статья, тогда вы можете изменить ее заголовок на Sponsored Post: Start Microblogging in WordPress with Wumblr. Тоже самое для гостевых статей и т.д.

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

function wpbeginner_titlerss($content) {

global $wp_query;

$postid = $wp_query->post->ID;

$gpost = get_post_meta($postid, 'guest_post', true);

$spost = get_post_meta($postid, 'sponsored_post', true);

 

if($gpost !== '') {

$content = 'Guest Post: '.$content;

}

elseif ($spost !== ''){

$content = 'Sponsored Post: '.$content;

}

else {

$content = $content;

}

return $content;

}

add_filter('the_title_rss', 'wpbeginner_titlerss');

Согласно коду выше, если у вас есть Произвольные поля с именем “guest_post” или “sponsored_post” и со значением “true”, тогда в заголовке статьи появится дополнительный текст.

Источник: Completely Manipulate Your WordPress RSS Feeds

Как установить срок действия вашей статьи

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

Для этого вставьте в цикл следующие строки кода:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<?php

if (have_posts()) :

while (have_posts()) : the_post(); ?>

$expirationtime = get_post_custom_values('expiration');

if (is_array($expirationtime)) {

$expirestring = implode($expirationtime);

}

 

$secondsbetween = strtotime($expirestring)-time();

if ( $secondsbetween > 0 ) {

// На пример

the_title();

the_excerpt();

}

endwhile;

endif;

?>

Для того, чтобы код сработал, вам нужно добавить Произвольное поле “expiration” и в него добавить дату следующего формата: mm/dd/yyyy 00:00:00

Также вы можете использовать плагин Post Expiration.

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

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

Для начала создайте поле с именем “post-class” и добавьте в него имя класса. На пример, мы добавили имя “anniversary”. Затем в цикле пропишите следующий код:

<?php $custom_values = get_post_meta($post->ID, 'post-class'); ?>

Теперь вам нужно найти функцию post_class в вашем цикле и заменить ее код на следующий:

<?php post_class('class-1 class-2 ' . $custom_values); ?>

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

<?php if (is_single()) {

$customstyle = get_post_meta($post->ID, 'customstyle', true);

if (!empty($customstyle)) { ?>

<style type="text/css">

<?php echo $customstyle; ?>

<style>

<?php }

} ?>

После этого создайте поле с именем “customstyle” и добавьте в него любой CSS текст. Например такой:

#coolimageclass{border: 5px solid #ccc;}

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

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

  • Custom Fields Template
  • More Fields

Возможно, Вам будет интересно ↓↓↓

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

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