перейти к содержанию
Нет результатов
Modern Events Calendar логотип
  • Установка
    • Установка
    • Активация
    • Автоматическое обновление
    • Обновление вручную
    • Изменить домен лицензии
  • Настройки
    • Общие
    • Архивная страница
    • Слаги/постоянные ссылки
    • Валюта
    • Смотреть все
  • Одиночное событие
    • Настройки отдельного события
    • Как добавить событие в плагин MEC?
    • Единая боковая панель MEC
    • Настраиваемые поля
    • Смотреть все
  • Модули событий
    • Спикеры
    • Организаторы
    • Локации
    • Карта
    • Смотреть все
  • Настройки бронирования
    • Модуль бронирования
    • Элементы бронирования
    • Форма бронирования
    • Платежные шлюзы
    • Смотреть все
  • Подача событий
    • Общие
    • Уровень доступа
    • Разделы ФЭС
    • Обязательные поля
    • Смотреть все
  • Интеграции
    • Mailchimp
    • Платные Членство Pro
    • BuddyPress
    • LearnDash
    • Смотреть все
  • Уведомления
    • Уведомление о бронировании
    • Подтверждение бронирования
    • Напоминание о бронировании
    • Уведомление администратора:
    • Смотреть все
  • Дополнения
    • Elementor Single Builder Аддон
    • Ticket and Invoice Аддон
    • События Seat Аддон
    • Virtual Events Аддон
    • Смотреть все
  • Прочее
    • Настройки внешнего вида
    • Переводы
    • Центр базы знаний
    • Диагностика неисправностей
    • Разработчик
Modern Events Calendar логотип

  • Категории
    • Установка
      • Установка
      • Активация
      • Автоматическое обновление
      • Обновление вручную
      • Изменить домен лицензии
    • общие настройки
      • Общие
      • Страницы архива
      • Слаги/постоянные ссылки
      • Валюта
      • Смотреть все
    • Одиночное событие
      • Настройки отдельного события
      • Единая боковая панель MEC
      • Как добавить событие в плагин MEC?
      • Настраиваемые поля
      • Смотреть все
    • Модули событий
      • Спикеры
      • Организаторы
      • Локации
      • Карта
      • Смотреть все
    • Настройки бронирования
      • Модуль бронирования
      • Добавить систему бронирования
      • Форма бронирования
      • Настройки оплаты организатора
      • Смотреть все
    • Подача событий
      • Общие
      • Уровень доступа
      • Разделы ФЭС
      • Обязательные поля
      • Смотреть все
    • Интеграция с МЭК
      • Mailchimp
      • BuddyPress
      • LearnDash
      • Платные Членство Pro
      • Смотреть все
    • Уведомления
      • Уведомление о бронировании
      • Подтверждение бронирования
      • Напоминание о бронировании
      • Уведомление администратора:
      • Смотреть все
    • Дополнения
      • Elementor Single Builder Аддон
      • Ticket and Invoice Аддон
      • События Seat Аддон
      • Virtual Events Аддон
      • Смотреть все
    • Прочее
      • Настройки внешнего вида
      • Переводы
      • Центр базы знаний
      • Диагностика неисправностей
      • Разработчик

Отправить заявку
Modern Events Calendar логотип

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

Разработчик

Как получить настраиваемое поле на странице одного события

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

Получить настраиваемое поле на странице одного события

$event_id = get_the_ID(); // Or you can get it from request parameters
$data = get_post_meta($event_id, 'mec_fields', true);
print_r($data); // Temporarily print the data to see it

Конфигурация полей

Вам также нужна конфигурация полей

$main = MEC::getInstance('app.libraries.main');

$fields = $main->get_event_fields();
if(!is_array($fields) ) $fields = array();

print_r($fields); // Temporarily print the configuration to see the structure

Имея как $fields, так и $data, вы можете распечатать все поля (или нужные вам поля) на выходе. Проверьте следующий код.

foreach($fields as $field_id => $item) {
   // Not a field
   if(!is_numeric($field_id)) continue;

   // Only display desired fields
   if(!in_array($field_id, [1,2,3])) continue;

   // Field Data
   $result = isset($data[$field_id]) ? $data[$field_id] : NULL;

   // Empty Value
   if((!is_array($result) and trim($result) == '') or (is_array($result) and !count($result))) continue;

   $type = isset($item['type']) ? $item['type'] : 'text';

   if(isset($field['label'])) {
      echo '<span class="mec-event-data-field-name">'.esc_html__(stripslashes($field['label']), 'mec').': </span>';
   }

   if($type === 'email') {
      echo '<span class="mec-event-data-field-value"><a href="mailto:'.esc_attr($value).'">'.esc_html($value).'</a></span>';
   } elseif($type === 'tel') {
      echo '<span class="mec-event-data-field-value"><a href="tel:'.esc_attr($value).'">'.esc_html($value).'</a></span>';
   } elseif($type === 'url') {
      echo '<span class="mec-event-data-field-value"><a href="'.esc_url($value).'" target="_blank">'.esc_html($value).'</a></span>';
   } elseif($type === 'date') {
      $value = $main->to_standard_date($value);
      echo '<span class="mec-event-data-field-value">'.esc_html($this->main->date_i18n($date_format, strtotime($value))).'</span>';
   } elseif($type === 'textarea') {
      echo '<span class="mec-event-data-field-value">'.wpautop(stripslashes($value)).'</span>';
   } else {
      echo '<span class="mec-event-data-field-value">'.(is_array($value) ? esc_html(stripslashes(implode(', ', $value))) :
   esc_html(stripslashes($value))).'</span>';
   }
}

Поделиться

Статьи по теме

  • Веб-хуки MEC
  • MEC Restful API
  • Переопределение страницы отдельного события
  • Переопределение скинов шорткода
  • Импорт событий через SQL
Логин Отправить
0 комментария

Нет коментариев.

Все еще не повезло? Мы можем помочь!

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

Отправить заявку
Webnus баннер
Modern Events Calendar

Пожалуйста, ознакомьтесь с нашими Условиями использования и Политикой конфиденциальности.

4.2 Отлично

О 11 Оцените нас на Trustpilot

Copyright © 2026. Все права защищены. Webnus Инк