使用自定义邮政类型作为存储容器,而无需注册

时间:2015-12-09 作者:Joshua Wieczorek

在某种意义上,我想使用CPT而不注册它。CPT由自定义插件用于内部设置。

例如:我编写了一个自定义表单插件,其中网站管理员可以为特定于内容的角色(不是WordPress角色,一个自定义系统,其中用户可以有多个角色,而内容只能由角色看到)创建单独的注册表单,然后表单将保存到数据库中。

但是,我希望使用CPT并单独保存每个表单,而不是使用“get\\u option()”创建包含所有表单的表单“option”。

表单通过自定义函数进行解析,不需要可搜索、可查询或由插件以外的任何人访问。

那么,使用……安全吗。。。

$args = [
    \'post_title\'=>\'Form Title\',
    \'post_content\'=>\'Form configuration settings\',
    \'post_type\'=>\'custom-form-cpt\',
    \'post_name\'=>\'form-name\'

];
wp_insert_post( $args );
没有实际注册自定义帖子类型?然后,为了检索表单,我将在插件中使用“get\\u post()”或“get\\u posts()”,以显示创建的所有表单和/或将表单呈现到屏幕上。

1 个回复
最合适的回答,由SO网友:Milo 整理而成

您需要注册一个post类型才能在API中使用它。您所描述的内容类似于revision和nav菜单post类型的行为。设置public 参数到false 并且帖子类型将没有管理UI,将从搜索中排除,并且不可公开查询。

相关推荐

插件放置在/wp-content/plugins内的文件夹中时不保存值

我得到了WordPRess插件的以下代码,它在每个页面/后期编辑屏幕上添加了两个自定义输入。然后将这些值保存并输出到前端页面的标题中。如果代码位于内部,则可以正常工作。php文件并直接放入“wp内容/插件”。然而,如果我把它放在插件(如“wp-content/plugins/myplugin”)中自己的文件夹中,那么在通过编辑屏幕保存帖子/页面时,输入字段不会保存。此外,它不会向前端页面html标题部分输出任何内容。这似乎是一个被放弃的项目,所以我无法与原始开发人员一起制定解决方案。然而,代码中的某些内容