Вопрос или проблема
У меня есть пользовательская таксономия ‘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 к созданным полям. Можете помочь мне, пожалуйста?
После того как я все больше и больше изучал код, я нашел решение. Итак, для тех, кто заинтересован в подобном:
- измените false на true в
use_with_theme
- измените путь шаблона на путь к стилям в
tax-meta-class.php
Ура
Ответ или решение
Чтобы добавить метаполя на страницы добавления/редактирования пользовательской таксономии в WordPress, вы можете воспользоваться библиотекой Tax Meta Class, как описано в вашем вопросе. Однако, как вы уже заметили, изначально поля могут отображаться без необходимого стилевого оформления и функциональности. В этом ответе я опишу необходимые шаги для реализации данного процесса, а также предоставлю дополнительные советы касательно настройки стилей и функциональности.
Шаги для добавления метаполей к пользовательской таксономии:
-
Установка библиотеки:
- Сначала нужно загрузить файлы библиотек, размещенные на GitHub 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 // Измените это значение на true для подключения стилей );
- Настройте ваш метабокс, добавив необходимую конфигурацию:
-
Добавление полей:
- Используйте методы
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();
- Используйте методы
Решение проблемы со стилями и функциональностью:
-
Изменение
use_with_theme
:- Убедитесь, что параметр
use_with_theme
установлен вtrue
. Это активирует использование стилей библиотеки Tax Meta Class, что решит данную проблему:'use_with_theme' => true
- Убедитесь, что параметр
-
Обновление пути к стилям:
- Проверьте файл
tax-meta-class.php
и обратите внимание на путь к CSS-файлам. Убедитесь, что пути указывают на правильное местоположение файлов в вашей дочерней теме.
- Проверьте файл
-
Правильная загрузка стилей:
- Также можно вручную добавить 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');
- Также можно вручную добавить CSS-файл в
Заключение
Следуя данным шагам, вы сможете успешно добавить метаполя к пользовательской таксономии в WordPress и настроить их отображение. Обратите внимание на правильное указание путей к файлам и настройку параметров встроенной библиотеки Tax Meta Class. Это поможет вам обеспечить корректное применение стилей и функции, необходимые для работы с добавленными полями. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.