translatable • Include a text domain in style.css • Use a single unique theme slug – as the theme slug appears in style.css • Can use any language for text, but only use the same one for all text.
• Declare copyright and license explicitly. Use the license and license uri header slugs to style.css. • Declare licenses of any resources included such as fonts or images. • All code and design should be your own or legally yours. Cloning of designs is not acceptable.
theme options. • Save options in a single array. • Use sane defaults and don’t write default setting values to the database. • Lots of Customizer examples available at: github.com/WPTRT/code-examples
theme can recommend plugins but not include those plugins in the theme code. • Don’t do things in a theme considered plugin territory. • Custom Post Types, Shortcodes, etc.
user consent. • Validate and sanitize untrusted data before entering into the database. All untrusted data should be escaped before output! • Use esc_attr() for text inputs and esc_textarea() for textareas.