我将从这个问题开始:功能是否与内容的呈现,内容的生成/管理,网站或用户身份有关?
如果该功能与内容的呈现不是专门相关的,那么它将直接在Plugin Territory中。此列表很长:
- 修改核心WP过滤器(
wp_head
内容,例如规范链接,生成器和其他HTML meta等)
- 网站图示
- 内容后简码
- 发表分享链接
- Google Analytics(分析)页脚脚本
- SEO工具/控件
- 等等
如果功能相关,以呈现内容,那么它是一个候选为被包含在主题。在这一点上,我将回复到@ Raf912的主题切换条件:切换主题时会丢失功能吗?如果这个问题的答案是没有,那么功能所属的主题。一些例子:
通常,这两个问题将提供明显的区分。但是,也有例外。
自定义帖子类型
举例来说,自定义帖子类型是内容生成和表示的一种独特混合方式,考虑到模板层次结构可用于单个帖子类型的存档索引页面和单个帖子页面的方式。CPT的内容生成方面通常会将它们直接放置在Plugin Territory中;但是,插件无法为任何给定的主题定义固有地适合设计/布局/样式的模板页面(特别是如果CPT显示的不是通常的“标题/内容/元数据”,或者具有与其相关的自定义分类法)。
从长远来看,解决这种差异的方法是恕我直言,要针对给定内容类型(房地产清单,日历活动,电子商务产品,书籍/媒体库条目等)的CPT定义制定标准公约/共识。 )。这样,用户生成的内容将在实现给定CPT标准/约定定义的主题之间保持可移植性,而主题开发人员保留了在主题模板文件中定义该CPT的设计/布局/样式的灵活性。
社交媒体链接
同样,我通常会说,在当前主题中几乎无处不在的社交媒体配置文件链接都是插件领域,因为它们与内容的呈现无关。最好的解决方案是将这些配置文件定义在内核中的某个位置。但是,当前没有定义这些链接的标准/共识方法。是在网站设置级别还是基于每个用户的最佳定义?如果是每个用户,则哪个用户的元数据会在模板中公开?等等
因此,从长远来看,解决这一差距的方法是,要么是核心定义这些链接的定义位置,要么是主题开发者社区发展自己的共识。同时,除了在每个主题中定义它们之外,实际上没有任何其他用途。