Категории
Уведомление:подпишитесь Заходите к нам в Telegram-чат
Skripters » WordPress » WordPress Плагины » Custom Metadata Manager

Custom Metadata Manager

SaNcHeS
Опубликовано 7-08-2021, 14:24
Простой способ добавить настраиваемые поля к вашим типам объектов (сообщения, страницы, настраиваемые типы сообщений, пользователи) и создать страницы параметров. Цель этого плагина - помочь вам быстро создавать знакомые, интуитивно понятные интерфейсы для ваших пользователей, как в WordPress. Панель настраиваемых полей хороша, но не самая простая вещь для пользователей. Добавление ваших собственных метабоксов и полей требует много времени и повторяющегося кода, который можно было бы лучше использовать в другом месте. Этот плагин выполняет всю эту тяжелую работу за вас за кулисами, так что вы можете сосредоточиться на создании и соединении ваших данных, а не на всех мелких деталях. Этот единственный фрагмент кода x_add_metadata_field ('my-field-name', 'post'); генерирует метабокс с текстовым полем внутри, с необходимыми хуками для сохранения введенных значений. API похож на тот, который используется для регистрации произвольных типов сообщений и таксономий, поэтому это должна быть знакомая территория. ПРИМЕЧАНИЕ. Теперь для плагина требуется WordPress 3.3+ (в основном для полей wysiwyg и datepicker). Нравится то, что вы видите? Хотите добавить больше типов полей и функций? Свяжитесь с нами или внесите свой вклад в github. Информацию об использовании см. В разделе «Другие примечания». Типы объектов использования. Основная идея этого плагина состоит в том, чтобы иметь единый API для работы независимо от типа объекта. В настоящее время диспетчер настраиваемых метаданных работает с пользователями, комментариями и любыми встроенными или настраиваемыми типами сообщений, например публикациями, страницами и т. Д. Регистрация ваших полей Для повышения производительности (и во избежание потенциальных условий гонки) всегда регистрируйте свои настраиваемые поля в крючок admin_menu. Таким образом, ваш интерфейс не увязнет в ненужной обработке, и вы можете быть уверены, что ваши поля будут безопасно зарегистрированы. Вот пример кода: add_action ('admin_menu', 'my_theme_init_custom_fields'); function my_theme_init_custom_fields () {if (function_exists ('x_add_metadata_field') && function_exists ('x_add_metadata_group')) {x_add_metadata_field ('my_field', array ('user', 'post')); }} Получение данных Вы можете получить данные, как обычно, используя функцию get_metadata. Пользовательский менеджер метаданных хранит все данные с помощью API метаданных WordPress, используя указанное вами имя слага. Таким образом, даже если вы решите отключить этот замечательный плагин, ваши данные будут в безопасности и доступны. Для опций вы можете использовать get_option. Пример: $ value = get_metadata ('post', get_the_ID (), 'Feature', true); // Возвращает значение метаданных публикации для «избранного» поля. Добавление групп метаданных. Группа - это, по сути, метабокс, который группирует вместе несколько полей. Зарегистрируйте группу перед любыми полями x_add_metadata_group ($ slug, $ object_types, $ args); Параметры $ slug (строка) Ключ, под которым будут храниться метаданные. $ object_types (строка | массив) Типы объектов, к которым должно быть добавлено это поле. Поддерживается: сообщение, страница, любой произвольный тип сообщения, пользователь, комментарий. Параметры и переопределения $ args = array ('label' => $ group_slug, // Метка для группы 'context' => 'normal', // (только публикация) 'priority' => 'default', // (post only) 'autosave' => false, // (только публикация) Следует ли сохранять группу в автосохранении? ЕЩЕ НЕ ВЫПОЛНЕНО! 'exclude' => '', // подробности см. ниже 'include' => '', / / подробности см. ниже); Добавление полей метаданных x_add_metadata_field ($ slug, $ object_types, $ args); Параметры $ slug (строка) Ключ, под которым будут храниться метаданные. Для post_types добавьте к заголовку знак подчеркивания (например, _hidden), чтобы скрыть его из поля Custom Fields. $ object_types (строка | массив) Типы объектов, к которым должно быть добавлено это поле. Поддерживается: сообщение, страница, любой произвольный тип сообщения, пользователь, комментарий. Параметры и переопределения $ args = array ('group' => '', // Слаг группы, в которую должно быть добавлено поле. Это необходимо сначала зарегистрировать с помощью x_add_metadata_group. 'Field_type' => 'text', // The тип поля; 'text', 'textarea', 'password', 'checkbox', 'radio', 'select', 'upload', 'wysiwyg', 'datepicker', 'taxonomy_select', 'taxonomy_radio' 'label' => '', // Метка для поля 'description' => '', // Описание поля, отображаемое под input 'values' => array (), // Значения для кнопок выбора и переключателя. Ассоциативный массив 'display_callback' => '', // Обратный вызов для пользовательского рендеринга поля 'sanitize_callback' => '', // Обратный вызов для очистки данных перед их сохранением 'display_column' => false, // Добавляем поле в столбцы при просмотре all posts 'display_column_callback' => '', // Обратный вызов для рендеринга вывода для настраиваемого столбца 'required_cap' => '', // Кепка, необходимая для просмотра и редактирования поля 'exclude' => '', // см. подробности ниже 'include' => '', // подробности см. ниже 'mult iple '=> false, // true или false, можно ли продублировать поле одним нажатием кнопки? 'readonly' => false, // делает поле доступным только для чтения (работает с полями text, textarea, password, upload и datepicker)); Включить / Исключить Вы можете исключить поля и группы из определенного объекта. Например, в следующем примере field-1 будет отображаться для всех сообщений, кроме сообщения № 123: $ args = array ('exclude' => 123); x_add_metadata_field ('поле-1', 'сообщение', $ args); Кроме того, вы можете ограничить («включить») поля и группы определенными объектами. Следующее будет «только» отображать группу 1 для сообщения № 456: $ args = array ('include' => 123); x_add_metadata_group ('группа-1', 'сообщение', $ args); Вы можете передать массив идентификаторов: $ args = array ('include' => array (123, 456, 789);); Для нескольких типов объектов вы можете передать ассоциативный массив: $ args = array ('exclude' => array ('post' => 123, 'user' => array (123, 456, 789))); Примеры Примеры см. В файле custom_metadata_examples.php, включенном в плагин. Добавьте в файл wp-config.php константу CUSTOM_METADATA_MANAGER_DEBUG со значением true, чтобы увидеть ее в действии: define ('CUSTOM_METADATA_MANAGER_DEBUG', true); ЗАДАЧИ Вещи, которые мы запланировали на будущее: Возможность клонировать (несколько) групп полей Способность Передавать атрибуты для встроенных полей (например, класс, данные- * и т. Д.) Дополнительные типы полей (множественный выбор, множественный выбор) Ограничение или исключение групп и полей с помощью настраиваемого обратного вызова Поддержка автосохранения для полей в типах сообщений Поддержка проверки на стороне клиента и на стороне сервера Добавление групп и полей в Быстрое редактирование

Автор: Mohammad Jangda, Joachim Kudish & Colin Vernon

Версия: 0.7.1

Последнее обновление: 2012-07-11 7:02pm GMT

Понравилось?
0
0
0

Скачать Custom Metadata Manager:

custom-metadata-manager.zip Размер файла: 0 b
164
0