Submitting a Theme to WordPress.org
After volunteering as a WordPress theme developer and reviewer, I think the most useful thing you can do before submitting a theme is to install the ZIP yourself on a clean site. By that point, you know every shortcut you took to get the theme running locally. A clean install helps you see what someone else will get when they download it.
1. Read the requirements before packaging
Start with the Theme Review Requirements. Check the required files and metadata for your theme type, then look through the fonts, icons, images, and libraries you ship. Keep a record of each bundled asset’s source and license. If you can’t confirm that you’re allowed to redistribute something under a compatible license, resolve that before you upload.
Look through the features as well. If a feature creates content that people should keep when they switch themes, such as a custom post type, put that functionality in a plugin. The theme can still control how the content looks.
2. Test the theme with someone else’s content
Activate the theme on a clean WordPress install and import the Theme Unit Test data. Browse a long post title, a post with no featured image, an archive page, and a page with nested comments if your theme displays them. Test the navigation at a narrow screen width and use the Tab key to check that you can see where focus goes.
Run the Theme Check plugin and investigate the results. Then go back to the pages a person will actually use. Theme Check can flag problems in the files, and a browser test can show you where a layout breaks or a menu is hard to use.
3. Build and test the ZIP
Put the installable files in a single theme folder. If your build process compiles CSS or JavaScript, make sure the compiled files are in the package and the theme points to those files. Leave local dependencies and development artifacts such as node_modules and .git out of the ZIP.
For example, if my-theme/ is a clean release folder, create the archive from its parent directory:
zip -r my-theme.zip my-theme/
unzip -l my-theme.zip
Check that my-theme/style.css is in the ZIP and that the paths match what the theme expects. Then install that exact ZIP through Appearance → Themes → Add New → Upload Theme on your test site. Activate it and repeat a few of your browser checks.
4. Upload and follow the review
Sign in to WordPress.org and submit your ZIP through the Theme Upload page. Address any errors the uploader reports. After a successful submission, follow the theme’s review ticket for feedback.
If a reviewer reports an issue, try to reproduce it first. Make the fix, increment the Version in style.css, rebuild and test the ZIP, and upload the new version through the same page. Reply on the ticket with what changed and how you tested it. A short note like “Fixed the mobile menu focus order and retested with the Tab key” gives the reviewer a specific check to repeat.
WordPress Theme Handbook submission guide · Theme update instructions