自定义帖子类型和字段应该在主题文件中,还是在主题中打包的自定义插件中?

时间:2019-10-10 作者:Aness

我正在尝试为旅行社创建一个定制的高级WordPress主题。我正在考虑完成这一主题并提交审查。

我希望这个主题非常有用,所以我最终创建了一些自定义帖子类型(CPT),如:

  • Organized Trip : 使用自定义字段(CF),如:Hotel name, Trip Duration,Type of reservation,... .
我真诚地同意那些认为这些CPT&;CF属于类似**有组织的旅行插件**的插件。

我也应该:

将其作为一个单独的插件,并将其打包到WordPress主题中TGM Plugin Activation.或

将这些自定义帖子类型写入WordPress主题文件,并将其包含在functions.php - Theme Setup.

Which one do you think is the Best Way to do this?

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

您将被WordPress拒绝。如果在主题中包含这些帖子类型,请组织主题目录。指南,可用here, 国家:

不允许使用与设计无关的功能。(参见:Plugin territory examples)

其中一个例子是:

自定义帖子类型和短代码

关于TGM,指南this 要说:

主题cannot include pluginscannot require plugins 工作主题may recommend WordPress的插件。org主题只能使用TGM Plugin Activation 或类似的库来推荐和安装托管在WordPress上的插件。组织(通过使用\'required\' => false 对于每个插件),因此如果您使用TGM,只要您的插件是推荐的且不是必需的,您就不会被拒绝。

不管目录规则如何,这都是最佳实践。如果主题中包含帖子类型,那么如果用户切换主题,他们将无法访问其内容,因为帖子类型不再注册。切换主题时不应出现这种情况。内容可能无法在新主题中正确显示,但用户至少仍然可以访问它。

相关推荐

WooThemes-供应商/预订-允许供应商管理资源

我正在尝试从WooThemes为bookings插件带来新功能。在组合预订和供应商插件时,不允许供应商用户管理资源(资源是自定义帖子)。我将新功能添加到资源自定义帖子中,然后将这些功能添加到供应商角色(通过用户角色插件)现在,资源显示在供应商角色的管理菜单中,但当我尝试添加新资源时,会出现“您无权访问此页面”错误。我添加的新功能:https://i.stack.imgur.com/OCDlV.png添加到角色的功能:https://i.stack.imgur.com/5t696.png使用角色登录时显示的