Использовать пользовательский тип сообщения в качестве контейнера для хранения без регистрации

Я хочу, в некотором смысле, использовать CPT, не зарегистрировав его. CPT используется для внутренних настроек настраиваемым плагином.

Например: я пишу плагин пользовательской формы, в котором администратор веб-сайта может создавать отдельные регистрационные формы для определенных ролей контента (а не роли WordPress, настраиваемая система, в которой пользователь может иметь несколько ролей и содержимого, только видимыми по ролям), а затем форма будет сохраненных в базе данных.

Однако вместо того, чтобы иметь форму «option» с использованием «get_option ()», содержащей все созданные формы, я хотел бы использовать CPT и сохранять каждую форму отдельно.

Формы анализируются с помощью пользовательской функции и не нуждаются в возможности поиска, запроса или доступа кем-либо, кроме плагина.

Таким образом, безопасно использовать …

$args = [ 'post_title'=>'Form Title', 'post_content'=>'Form configuration settings', 'post_type'=>'custom-form-cpt', 'post_name'=>'form-name' ]; wp_insert_post( $args ); 

без фактического регистрации настраиваемого типа сообщения? И затем, чтобы получить форму (формы), я просто использую «get_post ()» или «get_posts ()» внутри плагина, чтобы либо показать все созданные формы, и / или отобразить форму для экрана.

Вам необходимо зарегистрировать тип сообщения, чтобы использовать его с API. То, что вы описываете, похоже на то, как ведут себя сообщения типа ревизии и навигационного меню. Установите public аргумент в значение false и тип сообщения не будет иметь пользовательский интерфейс администрирования, будет исключен из поиска и не будет публично запрашиваться.