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

Урок 17

Зарегистрируйтесь или войдите и получите бесплатный доступ к первым 3-м урокам курса.

Урок 17

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

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

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

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

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

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

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

  • Как сделать так, чтобы слово «просмотров» склонялось в зависимости от цифры – «1 просмотр», «2 просмотра», «5 просмотров».
  • Как сделать так, чтобы счётчик просмотров прекрасно работал с установленными кэширующими плагинами на сайте, например WP-Super-Cache.
  • Добавим в админку метабокс, в котором вы вручную сможете изменять значение количества просмотров для каждого поста индивидуально. Двумя способами – ручками и при помощи плагина Carbon Fields.

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

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

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

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

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

Этот способ будет работать только для Записей, Страниц и других произвольных типов записей, у которых при регистрации в параметре supports указано значение custom-fields, например 'supports' => array( 'custom-fields' ).

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

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

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

Практически всегда мне было достаточно одной-единственной функции для этой цели – update_{сущность}_meta(), то есть для каждой сущности функция выглядит немного по-другому, но работает примерно одинаково.

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

update_post_meta( 1, 'views', 10000 );

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

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

повторяющееся поле в Carbon Fields
Метабокс с повторяющимися полями (репитер).

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

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

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

Вот эти функции:

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

  1. ID сущности.
  2. Ключ meta_key.
  3. Значение meta_value.

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

мета-поля в базе данных WordPress

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

$value = get_post_meta( $post_id, $meta_key, true );

Или для нашего примера:

$value = get_post_meta( 1, 'views', true );
Купить курс
  • 18 видеоуроков
  • Можно скачать готовый код после каждого урока
  • Уроки актуальны под последние версии WordPress
  • Можно начать проходить курс сразу же после оплаты
  • Достаточно базовых знаний HTML и CSS, чтобы пройти курс
  • Доступ навсегда
  • Единоразовый платёж
5000 р