В Gutenberg 23.1 появился интерфейс для создания произвольных типов записей в WordPress, что вызвало в равной степени и восторг, и скептицизм.
Экспериментальная функция, позволяющая пользователям создавать произвольные типы записей и управлять ими непосредственно в админ-панели через Settings, прошла путь от GitHub-задачи до запроса на слияние менее чем за две недели. Инженер Automattic Ник Цекурас открыл тикет 22 апреля, а его коллега Марин Атанасов отправил запрос на слияние 30 апреля. В тот же день он был объединен.
Произвольные типы записей (CPT, custom post types) являются фундаментальной частью WordPress с момента их появления в версии 3.0 в 2010 году. Они позволили вывести возможности CMS за пределы стандартных записей и страниц. Однако их создание всегда требовало либо плагина, либо кода. Этот пробел привел к появлению двух известных продуктов. Плагин Custom Post Type UI от WebDevStudios имеет более 1 миллиона активных установок. Advanced Custom Fields от WP Engine добавил инструменты регистрации произвольных типов записей и таксономий в версии 6.1, расширив и без того огромную пользовательскую базу, насчитывающую более 2 миллионов сайтов.
И теперь, впервые за всю историю, WordPress встраивает интерфейс для этого функционала непосредственно в редактор.
Джейми Марсланд из Automattic привлек внимание к этой функции в своем посте в X в понедельник.
«Произвольные типы записей переходят из разряда ‘функционала для разработчиков’ в разряд ‘функционала для простых пользователей’. WordPress превращается в мощную систему моделирования контента».
Однако темпы разработки и вопрос о том, надо ли включать этот интерфейс в ядро, привели к дискуссиям. Джонатан Дерозье прокомментировал тикет на GitHub следующим образом: «Зачем вообще этим заниматься? Я не вижу убедительных дискуссий или аргументов в пользу того, почему эту проблему должно решать ядро WordPress. Как это вписывается в дорожную карту и ее четыре этапа?»
Генеральный директор WebDevStudios Брэд Уильямс задал похожий вопрос: «Обсуждалось ли это где-нибудь в Slack? Интересно узнать причину, поскольку мне это по-прежнему кажется территорией плагинов».
Соучредитель Aye! Code Паоло Таяни высказался, что сначала следовало бы выпустить официальный плагин, указав на риск конфликтов имен и дублирования типов записей, когда плагины регистрируют те же самые типы контента разным образом.
Мэтт Бек, маркетолог и разработчик, выразил обеспокоенность тем, что новый функционал сохраняет свои определения в БД, а не в версионируемых файлах, как это сделано, скажем, в ACF.
Согласно запросу на слияние, функционал работает путем регистрации приватного произвольного типа записей wp_user_post_type, который хранит одну запись для каждого заданного типа записей; в ней содержится слаг типа записей, его статус и конфигурация в формате JSON. Фильтр REST API позволяет избежать конфликтов слагов для существующих типов записей.
В тикете сказано, что функционал довольно ограничен, и «сложные сценарии использования все равно останутся в рамках плагинов».
Другие приветствовали это нововведение, но поставили под сомнение его актуальность. Разработчик Ким Мейсон написал в X: «Как бы круто это ни было – функционал опоздал на 15 лет». Латиф Пала, тоже разработчик, отметил, что эта возможность должна была появиться вместе с самим Gutenberg в WordPress 5.0 в 2018 году. Генеральный директор WPSoul Игорь Санс пошутил: «2035 год – в WordPress появляется родной интерфейс для добавления произвольных метаданных».
В анонсе релиза Gutenberg 23.1 на Make WordPress Core эта функция не выводится на передний план. В нем упоминаются более быстрая финализация загрузки изображений и новые примитивы UI, а эксперимент с типами контента указан в разделе «Другие примечательные моменты». Функционал помечен как эксперимент, и пользователям нужно включать его в настройках Experiments в плагине.
Рассматривать время запуска этого функционала в отрыве от более широкой конкурентной и политической обстановки очень сложно.
CMS EmDash от Cloudflare, запущенная в апреле, привлекла внимание к тому факту, что возможности моделирования контента – включая произвольные типы записей – были встроены в нее с самого начала. В своем интервью на WP Product Talk старший менеджер по продуктам Мэтт Тейлор назвал «странным» тот факт, что такие возможности, как произвольные типы записей, до сих пор не являются частью ядра WordPress.
В октябре 2024 году владельцы WordPress.org перехватили бесплатный плагин ACF у WP Engine. Месяц спустя в каталоге появился форк плагина ACF Pro под названием Secure Custom Fields со всеми премиум-функциями, доступными бесплатно. Предварительный судебный запрет в декабре 2024 года постановил вернуть бесплатный плагин ACF компании WP Engine, но форк ACF Pro под слагом secure-custom-fields по-прежнему доступен в репозитории и имеет 70 000 активных установок.
Источник: https://www.therepository.email
