Themes must support PHP7 this means there must be no PHP notices when running on PHP7. Themes are allowed newer PHP features that are not included in PHP 5.2 but must fail gracefully when being installed on a site using a lower than supported PHP version e.g. PHP 5.2.
Required: Have a valid DOCTYPE declaration and include language_attributes.
The site icon feature in the wp-admin appearance>customizer>site-identity provides favicons. Backwards compatible support for favicons is not necessary since the feature was introduced to core more than two versions ago in WordPress 4.3.
Theme authors do not need to call wp_site_icon() directly as it is already hooked on wp_head.
The core function wp_site_icon() outputs a 32×32 favicon, a 192×192 Android/Chrome icon, a 180×180 Apple icon, and a 270×270 Microsoft icon.
Printing internal styles using <style> tags directly in the header.php is not allowed. The correct way would be to use a function that calls wp_add_inline_style and is hooked on the wp_enqueue_scripts action:
Themes are not allowed to have “obtrusive” upselling. The following are a few examples:
Global notifications in the admin area are not allowed. Notifications must restricted to specific pages.
Only one sub-page is allowed under the Appearance section in the admin sidebar.
No options or panels/sections can be locked behind a paywall. All settings in a theme must work.
As theme features for user social media:
Social media links with icons settings are allowed.
Social media “like”, “follow” and “share” buttons are plugin territory.
The theme authors social media:
Social media links are allowed.
Social media “like”, “follow” and “share” buttons is not allowed.