想着把主题上传到官方的主题商店,结果看到官方一页拉不到底的“要求”,直接懵了,这也太多了吧?官方文档地址:https://make.wordpress.org/themes/handbook/review/required/
想了想,索性直接让AI给分析一下,一分析更懵逼了,我这主题也太不符合官方的要求了……
贴一下AI给的部分审核文档让大家看下:
审核依据:https://make.wordpress.org/themes/handbook/review/required/(Required 页,抓取于 2026-08-27)
被审代码:main @ e66580c(v1.1.19)
官方前置规则:"Themes that have 3 or more distinct issues may be closed as not-approved."(页首)
本主题存在数十项 distinct issue,且多项属结构性问题,现状必然被拒。
0. 总览:条款 → 违规项数量
| 条款 | 标题 | 本主题违规 |
|---|---|---|
| §1 | Licensing & copyright | 3 项 |
| §2 | Privacy | 3 项 |
| §3 | Accessibility | 2 项 |
| §4 | Code | 4 类(含 2 处可利用 XSS) |
| §5 | Functionality and Features | 5 类(含 CPT / 44 个短代码) |
| §6 | Plugins | 10+ 类插件领域功能 |
| §7 | Naming | 1 项风险 |
| §8 | Language & internationalization | 3 项 |
| §9 | Files | 8 项(含远程资源、压缩资源无源码、截图比例) |
| §10 | Classic themes | 6 项必需项缺失 |
| §12 | Theme settings pages and onboarding | 4 项 |
| §13 | Selling, credits, links | 待核(页脚版权链接) |
§1 Licensing & copyright
原文要点:
All code, data, and images — anything in the theme zip file — must comply with the GPL or a GPL-Compatible license. Included third-party libraries, code, images, or otherwise, must be compatible.
- Include license, copyright information, and source for all resources included…
- Provide a list of all resources in one file.
违规:
| # | 问题 | 位置 |
|---|---|---|
| 1.1 | 内置 CodeStar Framework 是 free + Pro 混合体,按 CLAUDE.md 记载含 8 个 Pro class(customize/metabox/nav-menu/profile/shortcode/taxonomy/widget/comment-options.class.php),靠 CSF_Setup::init(__FILE__, true) 解锁。目录内无 LICENSE 文件、无来源声明。分发商业版文件既无法证明 GPL 兼容,也存在授权风险。 | inc/codestar-framework/ |
| 1.2 | 内置第三方资源无授权/来源清单("list of all resources in one file" 完全缺失,因为连 readme.txt 都没有):Bootstrap、lightGallery、layer、Font Awesome、animate.css、DPlayer、html2canvas、qrcode、CodeMirror 5.62.2、highlight-php、ip2region、plugin-update-checker、Guzzle。 | assets/、inc/ |
| 1.3 | inc/volcengine-imagex/、inc/ip2region/ 无 LICENSE 文件。(inc/highlight-php/LICENSE.md、inc/update-checker/license.txt已有。) | 同左 |
§2 Privacy
原文:
Any tracking and collection of user data must be disabled by default and opt-in only. Documentation on how any user data is collected and used needs to be in the theme readme.txt…
违规:
| # | 问题 | 位置 |
|---|---|---|
| 2.1 | 评论者 IP 归属地解析(采集并展示访客 IP 地理信息),默认行为未在 readme 中披露 | inc/theme-comment-geo.php、inc/ip2region/ |
| 2.2 | 阅读量统计:每次 wp_head 对访客请求写 postmeta,无速率限制、无 opt-in | inc/theme-article.php:73-86 |
| 2.3 | 友链页记录访客信息、seo_statistical 选项原样注入任意统计代码 | inc/theme-friend-links.php、header.php:28-30 |
§3 Accessibility
原文:
Skip links — Themes must include a mechanism that enables users to navigate directly to content or navigation on entering any given page… A minimally conforming skip link must: be the first focusable element…, be visible when keyboard focus moves to the link, move focus to the main content area…
Keyboard navigation — Theme authors must provide visual keyboard focus highlighting in navigation menus and for form fields, submit buttons, and text links.
违规:
| # | 问题 | 位置 |
|---|---|---|
| 3.1 | 无 skip link,也无 .screen-reader-text 工具类(全仓库 grep 无命中)。本主题有顶部菜单 + banner,属于"有内容需要跳过"的情形,故此条强制适用。 | header.php |
| 3.2 | user-scalable=no 禁用双指缩放;键盘焦点样式未系统化(需逐项核 :focus-visible) | header.php:18 |
§5 Functionality and Features
原文(这是本主题最致命的一条):
Do not include:
- Custom post types
- Custom blocks
- Custom roles
- Custom user contact methods
- Custom mime types
- Shortcodes
- Functionality that is not related to design and presentation
Admin notices: Use the
admin_noticesAPI for all notifications generated by the theme. Notices must be dismissible.
Do not: … Remove non-presentational hooks
违规:
| # | 问题 | 位置 |
|---|---|---|
| 5.1 | 注册自定义文章类型 ×2:register_post_type(KRATOS_NOW_CPT)、register_post_type(KRATOS_SHUOSHUO_CPT)(含 flush_rewrite_rules) | inc/theme-now.php:27、inc/theme-shuoshuo.php:62,93 |
| 5.2 | 注册自定义分类法:register_taxonomy('kratos_series') | inc/theme-series.php:168,206,235 |
| 5.3 | 注册 44 个短代码:inc/theme-shortcode.php 24 个(h2title/success/info/warning/danger/music/bdbtn/kbd/mark/striped/*box/vqq/youtube/bilibili/reply/accordion/dplayer/countdown)+ 20 个文件各 1–2 个(custom_categories/custom_date_archive/custom_tags/yearly_review/on_this_day/friend_feed/mood_log/mood_log_input/kratos_series_list/timeline/post_heatmap/site_dashboard/stumble/friend_links/top_commenters/home_featured/archives_stats/now/comment_geo/heart_comments/shuoshuo_feed) | 见上 |
| 5.4 | 自定义区块(Gutenberg blocks) | inc/theme-gutenberg-blocks.php、assets/js/blocks/ |
CPT/taxonomy 的连带模板(single-shuoshuo.php / page-shuoshuo.php / page-now.php / taxonomy-kratos_series.php)同样要跟着移出。
§6 Plugins
原文:
Do not: … Include plugin functionality.
If you are not sure if a feature is plugin functionality, contact the team and ask first.
(明确列举)Analytics or tracking support / SEO options / Contact forms / Non-design related meta boxes / Resource caching / Social media 'like','follow','share buttons' / Session tampering
违规(每一项都独立构成 distinct issue):
| # | 功能 | 对应官方列举项 | 位置 |
|---|---|---|---|
| 6.1 | SEO meta / OG / Twitter Card / keywords / description / robots | SEO options | inc/theme-seo.php:33-61、inc/theme-setting.php:36-90 |
| 6.2 | X-Robots-Tag: noindex, nofollow 输出 | SEO options | inc/theme-stumble.php:40 |
| 6.3 | seo_statistical 任意统计代码注入 | Analytics or tracking support | header.php:28-30 |
| 6.4 | 阅读量计数器 | Analytics / 非表现层 | inc/theme-article.php:73-86 |
| 6.5 | 站点数据看板、评论者地域分布、文章热度图 | Analytics / 非表现层 | theme-site-dashboard.php、theme-comment-geo.php、theme-post-heatmap.php |
| 6.6 | 数据库瘦身 + transient 缓存层(含裸 DELETE FROM wp_posts/wp_comments) | Resource caching | inc/theme-performance.php:586-661,739,1052 |
| 6.7 | 友链申请表单(含邮件通知) | Contact forms | inc/theme-friend-links.php:1463-1517 |
| 6.8 | SMTP 覆写 + wp_mail 发信 | 非表现层 | inc/theme-smtp.php:14,24,77,286 |
| 6.9 | SEO meta box | Non-design related meta boxes | inc/theme-article.php:598-650 |
| 6.10 | 图床/CDN 上传接管(wp_handle_upload / upload_dir / 附件 metadata) | 非表现层 | theme-dogecloud.php:71,102,153、theme-volcengine.php + inc/volcengine-imagex/ |
| 6.11 | 评论验证码 / 蜜罐 / 点赞反应 / 排名徽章 | 非表现层 | theme-comment-captcha.php、theme-comment-honeypot.php、theme-comment-reactions.php、theme-comment-rank.php |
| 6.12 | 自建数据表 ×2(dbDelta+ CREATE TABLE) | 非表现层(另违 §12 单一选项规则) | theme-friend-feed.php:38,50,71、theme-mood-log.php:30,43,50 |
| 6.13 | RSS 聚合抓取、心情日志、命令面板、内链悬浮预览、自动内链 | 非表现层 | theme-friend-feed.php、theme-mood-log.php、theme-command-palette.php、theme-link-preview.php、theme-auto-link.php |
另:§6 "Do not include zip files or plugins in the theme folder" → demo/kratos-plus-1.1.19-test-e66580c.zip 直接命中(同时命中 §9 的 "Zip files")。
§7 Naming, spelling, and trademarks
The themes team can decline themes based on the name … if they decide that the name is inappropriate or too similar to an existing theme or brand.
风险项:Kratos-plus 派生自上游 Kratos 主题。若目录中已存在同族名称,团队可能要求改名。此外 §1 要求 "All code and design must be your own or legally yours",二次开发需在 readme 中清楚标注上游作者与 GPL 继承关系(当前只在 style.css Description 里提到,未进 readme——因为没有 readme)。
其实后面还有不少,但是看到这里我已经累了……需要改动的地方太多了,真要按照官方的要求改,我得把主题里面不少功能抽出来作为插件来使用,搞成插件的话,我之前辛辛苦苦整合到主题里面是为了什么?
蒜鸟蒜鸟~我还是老老实实的自托管吧。
除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接

文章评论
哈~看到一半我实在看不下去了,这要求鬼来了都怕~
@皮皮社长 毁灭吧~哈哈哈,真佩服那些上传主题的,真爱粉啊
太复杂了吧,可以扔给AI,规则也给他,改一改
@Hary token没了主要是~太费钱了
可以让AI直接干这件事。
@老张博客 太费劲儿了主要是,而且感觉这个会很费token
要求这么高啊
@瓦匠 是的,WP要求还是挺高的,太难了