Произвольные поля
Урок 17
Сейчас в WordPress вы можете спокойно задавать дополнительные параметры к различным сущностям сайта:
Эти дополнительные параметры и называются мета-поля, дополнительные поля, кастомные поля (custom fields), сейчас они чаще называются именно мета-поля.
«Произвольные поля» – это название метабокса для постов, где можно было как раз эти мета-поля устанавливать.
В этом видеоуроке мы при помощи произвольных полей создадим счётчик просмотров для постов.
Мы рассмотрим такие моменты:
Чтобы скачать тему WordPress, которая получилась у нас в процессе этого урока, необходимо приобрести курс.
Итак, задавать значения произвольных полей в WordPress можно тремя способами:
Этот способ будет работать только для Записей, Страниц и других произвольных типов записей, у которых при регистрации в параметре supports
указано значение custom-fields
, например 'supports' => array( 'custom-fields' )
.
С приходом редактора Gutenberg этот метабокс с настройками полей считается устаревшим и мы обычно используем сайдбары Gutenberg для этих целей.
Практически всегда мне было достаточно одной-единственной функции для этой цели – update_{сущность}_meta()
, то есть для каждой сущности функция выглядит немного по-другому, но работает примерно одинаково.
update_post_meta()
– для постов,update_term_meta()
– для таксономий,update_comment_meta()
– для комментариев,Например мы хотим установить значение количества просмотров поста на 10000, тогда мы можем использовать этот код:
update_post_meta( 1, 'views', 10000 );
Метабоксы кстати могут быть сами разными, например на недавнем проекте у нас был такой метабокс:
Если вы хотите кодить эти метабоксы сами, то рекомендую это руководство, если при помощи плагина, то мне очень нравится Carbon Fields. В любом случае, в видеоуроке мы рассмотрели оба варианта.
В основном вывод осуществляется при помощи одних и тех же функций, если только вы не используете для этого какой-то плагин для создания метабоксов, например Carbon Fields.
Вот эти функции:
Принцип действия всех этих функций примерно одинаков, для того, чтобы его понять, вам нужно понять, что любое мета-поле состоит из трёх частей:
meta_key
.meta_value
.Скриншот из базы данных WordPress:
И тогда в коде это будет выглядеть примерно так:
$value = get_post_meta( $post_id, $meta_key, true );
Или для нашего примера:
$value = get_post_meta( 1, 'views', true );
Список уроков