如何提交主题到 WordPress 官方仓库?

wordpress教程

分发你的WordPress主题

同样的,当我们开发完成了主题后,我们也需要将主题发布出去,最简单、最省心的方式便是上传到 WordPress 官方的市场中。

上传到 WordPress 官方的市场依然需要遵循很多规则,接下来解读一下主题审核的流程和一些注意事项。

审核流程

(1)上传主题,添加到新主题的队列中:在这里可以看到主题的审核进度、审核员的反馈信息。

(2)主题被分配给审核员:审核员会检测主题是否「完备」,并对照最佳实践,查看是否符合一些其他的最佳实践(不符合也不影响审核,不过建议符合最佳实践,可以让审核员对你的主题有好感,通过的几率更大)。

(3)审核员审核完成后,会开一个工单(Ticket):在 Ticket 中说明你的问题,并等待更新。

如果没有在工单开启后7天内反馈信息,可能会被审核员关闭掉工单,下次就要重新提交申请了。

如果审核员在你回复的48小时内没有回复,可以申请将主题重新放入队列中,等待新的审核员接管。

(4)审核员审核通过后,会将此主题标记为通过,发送给终审审核员,由其进行最终审核:这个审核可以在这里看到。

(5)最终审核员如果发现了问题,会将这个主题退回给审核员进行审核。

(6)如果这个主题没有被审核出问题,将会上传到 WordPress 的仓库中去。

WordPress 官方的主题审核清单

无障碍相关

如果给你的标题加入了 accessibility-ready 标签,则主题需要为其做出一些准备,具体的清单可以参考这里

这一项不需要太过于关注,大部分情况下我们不会加入这个标签。

代码规范

  • PHP 和 JS 代码中不会报错(提醒);
  • 主题的头部必须有符合标准的 DOCTYPE 声明和语言声明;
  • 用户输入数据在进入数据库之前,需要进行转义和验证,所有不可信的数据在输出时需要进行转义;
  • 经过 Theme Check 插件的检查;
  • 主题定义的函数、变量、设置项、全局变量、常量等,需要有唯一的前缀。

代码特性

  • 如果存在,优先使用 WordPress 自带的函数实现功能;
  • 不能使用 WordPress 核心的私有方法;
  • 不能要求付费使用特性
  • 避免使用硬编码来输出某些内容,尽可能的使用其他内容;
  • 主题的标签不应该超过3个,而且标签应该有对应的设计和代码的实现;
  • 尽可能使用 WordPress 自带的标签来输出内容;
  • 包含评论功能的实现
  • 向下兼容3个版本;
  • 主题不能移除/隐藏 adminBar

演示和选项

  • 主题选项不应该使用自定义文章类型来保存;
  • 与主题设计无关的功能需要移除
  • 使用 starter-content 来为用户演示内容。

文档

  • 任何非官方的、自行添加的功能都需要有对应的文档来说明。

语言

  • 所有输出的内容都应该进行翻译(国际化,我们下节课会说);
  • 在 style.css 中加入 text domain
  • 主题应该有一个唯一的别名(slug);
  • 可以在主题中使用任何一种语言,但是整个主题内都应该使用这一种语言。

协议

  • 主题需要基于 GPL 协议,或与 GPL 协议不冲突;
  • 明确声明版权和许可,在 style.css 的头部加入 LICENSE 和 LICENSE URL;
  • 对所有的资源进行版权和许可的说明(字体、图片等);
  • 代码应该是你自己的编写的,或者授权给你的;
  • 前台应该显示用户的版权,而不是主题开发者的版权。

命名

  • 主题的名称不允许使用 WordPress、Theme;
  • 如果涉及到 WordPress,则需要拼写准确(W、P 大写)。

设置和选项

  • 将设置项保存在一个数组中;
  • 支持自定义说明
  • 不向数据库写入插件设置的默认值;
  • 对于主题的设置应该加入权限控制,确保不会有越权行为。

插件

  • 主题不能包含插件;
  • 主题不能需要插件才能工作;
  • 主题只能推荐存在于 WordPress 官方目录中的插件;
  • 需要使用 TGM Plugin Activation 来推荐用户安装插件;
  • 主题可以引入满足要求的库,比如 options frameworks。

截图

  • 截图应该是主题的演示;
  • 截图可以选择性的展示支持的插件、设置和模板;
  • 截图不能是一个 logo 或者 mockup;
  • 主题截图不能大于 1200×900。

隐私

  • 未经用户允许,不能向开发者发送数据;
  • 不能使用短链接服务。

销售和链接

  • Theme URI 是可选项;
  • 如果有 Theme URI ,这个值应该是该主题在 WordPress 官方仓库的地址;
  • 如果这个地址是演示站点,则该站点的内容必须关于主题本身,且不含测试数据;
  • Author URI 是可选项,它应该是指向开发者个人网站的链接;
  • 主题的底部只能有一个信息链接,而且这个链接应该是在 style.css 中定义的;
  • 主题的底部应该还有一个信息链接指向 WordPress.org。

样式表和脚本

  • 脚本和样式表不能进行硬编码;
  • 除非你提供了源文件,否则不能对样式表和脚本进行压缩;
  • 使用 WordPress 自带的库文件,而不是在主题中自行维护一个版本;
  • 除了 Google Font,尽可能使用自带的文件,而不是远程链接。

模板

  • 如果涉及到这些文件,应使用其对应的函数来引用:
    • header.php (get_header()
    • footer.php (get_footer()
    • sidebar.php (get_sidebar())
    • searchform.php (get_search_form())
  • 自定义模板文件应该使用 get_template_part来引用或 locate_tempalte来引用;
  • 根据首页的设置显示正确的内容。

选择

看到上面的审核要求清单,是不是觉得差距很大?我们习以为常的东西在 WordPress 官方的规定中都是不允许出现的,对于大多数开发者来说,可能上面的很多条款会让我们十分难受,那么这个时候,你就要考虑你是否真的要将你的主题上架到 WordPress 官方商店了。

在国内,WordPress 主题的盗版屡禁不止,开发者们通过不同的方式来实现对盗版用户的封堵。在这里给大家提供一种可能,可以考虑将你的主题上传到 Themeforest 来进行售卖,Themeforest 也是一个知名的 WordPress 主题商店,但是它对于商业性质的主题更加友好,要求也更少一些,或许能够给你带来不错的收入。

发表评论

电子邮件地址不会被公开。 必填项已用*标注