Как добавить мета-поля на страницу добавления/редактирования пользовательской таксономии?

Вопрос или проблема

У меня есть пользовательская таксономия ‘issue’. Я попытался добавить несколько мета-полей на страницы добавления/редактирования вопроса в панели управления, используя метод, объясненный Охадом Разом (https://en.bainternet.info/wordpress-taxonomies-extra-fields-the-easy-way/). Поэтому я загрузил файлы с github (https://github.com/bainternet/Tax-Meta-Class), поместил их в папку дочерней темы и добавил эти строки в functions.php дочерней темы:

require_once( get_stylesheet_directory() . '/Tax-meta-class/Tax-meta-class.php' );

$config = array(
   'id' => 'demo_meta_box',
   'title' => 'Demo Meta Box',
   'pages' => array('issue'),
   'context' => 'normal',
   'fields' => array(),
   'local_images' => false,
   'use_with_theme' => false
);
$my_meta = new Tax_Meta_Class($config);
$my_meta->addText('text_field_id',array('name'=> 'Мой текст '));
$my_meta->addTextarea('textarea_field_id',array('name'=> 'Мой текстовый блок '));
$my_meta->addDate('date_field_id',array('name'=> 'Моя дата '));
$my_meta->addImage('image_field_id',array('name'=> 'Мое изображение '));
$my_meta->addFile('file_field_id',array('name'=> 'Мой файл '));
$my_meta->Finish();

Итак, теперь все поля добавлены на страницу панели управления добавления/редактирования таксономии. Но без стиля css. Хотя в папке tax-meta-class есть файл css, поля, добавленные в панель управления, не имеют стилей, даже кнопки “добавить изображение”/”добавить файл” не открываются, выбор даты отображается как обычное текстовое поле. Я не мог понять, как применить код css к созданным полям. Можете помочь мне, пожалуйста?

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

  1. измените false на true в use_with_theme
  2. измените путь шаблона на путь к стилям в tax-meta-class.php

Ура

Ответ или решение

Чтобы добавить метаполя на страницы добавления/редактирования пользовательской таксономии в WordPress, вы можете воспользоваться библиотекой Tax Meta Class, как описано в вашем вопросе. Однако, как вы уже заметили, изначально поля могут отображаться без необходимого стилевого оформления и функциональности. В этом ответе я опишу необходимые шаги для реализации данного процесса, а также предоставлю дополнительные советы касательно настройки стилей и функциональности.

Шаги для добавления метаполей к пользовательской таксономии:

  1. Установка библиотеки:

    • Сначала нужно загрузить файлы библиотек, размещенные на GitHub Tax Meta Class и поместить их в папку вашей дочерней темы.
  2. Подключение библиотеки:

    • В файле functions.php вашей дочерней темы добавьте следующий код:
      require_once( get_stylesheet_directory() . '/Tax-meta-class/Tax-meta-class.php' );
  3. Создание метабокса:

    • Настройте ваш метабокс, добавив необходимую конфигурацию:
      $config = array(
      'id' => 'demo_meta_box',
      'title' => 'Demo Meta Box',
      'pages' => array('issue'), // Ваша пользовательская таксономия
      'context' => 'normal',
      'fields' => array(),
      'local_images' => false,
      'use_with_theme' => false // Измените это значение на true для подключения стилей
      );
  4. Добавление полей:

    • Используйте методы addText, addTextarea, addDate, и другие, чтобы добавить нужные метаполя:
      $my_meta = new Tax_Meta_Class($config);
      $my_meta->addText('text_field_id', array('name' => 'My Text'));
      $my_meta->addTextarea('textarea_field_id', array('name' => 'My Textarea'));
      $my_meta->addDate('date_field_id', array('name' => 'My Date'));
      $my_meta->addImage('image_field_id', array('name' => 'My Image'));
      $my_meta->addFile('file_field_id', array('name' => 'My File'));
      $my_meta->Finish();

Решение проблемы со стилями и функциональностью:

  1. Изменение use_with_theme:

    • Убедитесь, что параметр use_with_theme установлен в true. Это активирует использование стилей библиотеки Tax Meta Class, что решит данную проблему:
      'use_with_theme' => true
  2. Обновление пути к стилям:

    • Проверьте файл tax-meta-class.php и обратите внимание на путь к CSS-файлам. Убедитесь, что пути указывают на правильное местоположение файлов в вашей дочерней теме.
  3. Правильная загрузка стилей:

    • Также можно вручную добавить CSS-файл в functions.php:
      function enqueue_tax_meta_styles() {
      wp_enqueue_style('tax-meta-class', get_stylesheet_directory_uri() . '/Tax-meta-class/css/styles.css');
      }
      add_action('admin_enqueue_scripts', 'enqueue_tax_meta_styles');

Заключение

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

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

Капча загружается...