Custom Post Types in plugins?

时间:2013-10-23 作者:rozeh

我一直在想这个。在我现在看到的大多数插件中,它们看起来像CPT,但没有“已发布”链接。他们也不担任职务。它们只是停留在仪表板中的插件,页面和列列表顶部有“添加新”链接,当您单击“编辑”时,可以像在任何其他CPT中一样编辑项目。

所以我想知道他们是否是CPT?如果是的话,有没有关于这方面的教程?

我正在考虑为我的网站创建一个插件,我想要的是构建一个插件,我可以“添加新项目”,并保存项目(并且可以编辑)。我可以通过短代码调用项目。

我知道如何在函数中创建CPT。php和我一直在阅读关于基本插件创建的内容。我似乎找不到关于我刚才提到的内容的教程。

我们将非常感谢您的任何帮助。

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

是的,有很多插件使用CPT作为数据保持器(例如,高级自定义字段)。不过,其他人会小心地使用这个类WP_List_Table 符合默认接口(例如backwup)。

When registering a post type, 我们可以选择控制其可见性和“可查询性”:public, show_ui, publicly_queryable 和其他人。ACF是这样注册的:

register_post_type(\'acf\', array(
    \'labels\' => $labels,
    \'public\' => false,
    \'show_ui\' => true,
    \'_builtin\' =>  false,
    \'capability_type\' => \'page\',
    \'hierarchical\' => true,
    \'rewrite\' => false,
    \'query_var\' => "acf",
    \'supports\' => array(
        \'title\',
    ),
    \'show_in_menu\'  => false,
));
所以,是的,创建一个只出现在后端的CPT,然后在系统的其他部分使用它是完全可以的。例如,导航菜单(wp-admin/nav-menus.php) 是CPT,注册方式如下:

register_post_type( \'nav_menu_item\', array(
    \'labels\' => $labels,
    \'public\' => false,
    \'_builtin\' => true, /* internal use only. don\'t use this when registering your own post type. */
    \'hierarchical\' => false,
    \'rewrite\' => false,
    \'delete_with_user\' => false,
    \'query_var\' => false,
) );
您的示例(用作短代码)类似于在帖子或页面中使用的内容:

[my_shortcode id="77"]
它所做的是:get ID为77的CPT中包含的任何信息,并将其显示出来。

忘记functions.php 对于这种东西。研究我们的档案 因为有大量的入门材料,简单而复杂。

结束

相关推荐

Plugins_url(‘’,__FILE__)!=带有sym链接的WP_plugin_URL

对于我的众多网站之一,plugins/plugin-name 是指向的符号链接universal-install/wp-content/plugins/plugin-name.echo WP_PLUGIN_URL 显示我期望的内容echo plugins_url(); 显示我期望的内容echo plugins_url(\'\',__FILE__) 显示我期望的内容,后跟指向通用插件目录的绝对路径。我有什么办法可以解决吗echo plugins_url(\'\',__FILE__) 仅返回预期结果?