WordPress.org

Make WordPress Core

Opened 4 years ago

Last modified 8 months ago

#13780 new feature request

WordPress Version Requirement Support for Themes

Reported by: kretzschmar Owned by: ryan
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Themes Keywords: needs-patch
Focuses: Cc:

Description

Right now, there seems to be no way to add a minimum required version to a themes style.css.

This should be used for the automatic update of themes build into WordPress. The theme update should only be applied after WordPress is updated to at least that version.

Attachments (3)

13780-check-theme-version-on-upload.diff (1.9 KB) - added by pdclark 13 months ago.
Check theme version when uploading .zip. Checks for "Requires at least:" in theme style.css head.
13780-check-theme-version-from-api.diff (861 bytes) - added by pdclark 13 months ago.
Checks theme version when "requires" value sent by theme API.
13780-check-theme-version-on-activate.diff (1.6 KB) - added by pdclark 13 months ago.
Check theme version before switching themes. Checks for "Requires at least:" in theme style.css head.

Download all attachments as: .zip

Change History (20)

comment:1 dd324 years ago

  • Component changed from Themes to WordPress.org
  • Milestone changed from Unassigned to WordPress.org site
  • Owner set to ryan
  • Type changed from enhancement to feature request

This doesnt really need to be done inside of WordPress, rather, its a feature request for the Themes directory.

With all the new functionalities in each version, and the functions which Themes can call to register certain things, Adding a required version would get a +1 for me.

comment:2 ocean903 years ago

Related/Duplicate: #16868

comment:3 bpetty14 months ago

  • Cc bpetty added
  • Keywords needs-patch twentythirteen added
  • Milestone changed from WordPress.org to 3.6
  • Priority changed from normal to high
  • Summary changed from add require version tag to style.css to Twenty Thirteen: WordPress Version Requirement Support

Pushing this to 3.6 milestone since this is now a priority for Twenty Thirteen.

As discussed in Twenty Thirteen office hours, this theme will require WP 3.6 (mostly due to post formats focus).

The tasks involved here may include:

  • Hiding WP.org themes with specified requirement in style.css from themes API search used by older versions of WP (API and core work required).
  • Preventing activation of theme uploaded manually by ZIP if minimum required WP version is not met (which obviously won't help older versions of WP, but will help in the future with this).

See this post for more info.

comment:4 lancewillett14 months ago

  • Cc lancewillett added

comment:5 philiparthurmoore14 months ago

  • Cc philip@… added

comment:6 pdclark13 months ago

  • Keywords has-patch added; needs-patch removed

Uploaded patches for all the cases I could think of.

13780-check-theme-version-on-upload.diff​ checks theme's minimum required WordPress version not just on upload, but also when a theme is being installed from themes_api(). Because of this, 13780-check-theme-version-from-api.diff isn't really necessary unless modifying the remote API is worth saving a small bit of bandwidth.

13780-check-theme-version-on-activate.diff​ covers cases where a user might have uploaded a theme over FTP – it does a check during switch_theme(), which should catch when clicking "Activate" or doing a theme preview.

Some things to consider:

  • I used "Requires at least" as the plugin head key to match wordpress.org plugin syntax for readme.txt. If matching theme head / plugin head to readme.txt isn't necessary, then "Requires" is worth considering.
  • The WP_Error IDs being passed currently match their context -- incompatible_archive and themes_api_failed. A more specific error, like requirement_not_met might be appropriate
  • API revision isn't necessary when Theme_Upgrader is patched.

Items I didn't address:

  • Hiding incompatible themes outright in API search. It seems like a flag or warning might be more appropriate.

comment:7 pdclark13 months ago

  • Keywords needs-patch added; has-patch removed

pdclark13 months ago

Check theme version when uploading .zip. Checks for "Requires at least:" in theme style.css head.

pdclark13 months ago

Checks theme version when "requires" value sent by theme API.

pdclark13 months ago

Check theme version before switching themes. Checks for "Requires at least:" in theme style.css head.

comment:9 lancewillett13 months ago

In 23816:

Twenty Thirteen: add back-compat function to avoid activation with older WordPress installs. Props kovshenin, see #23819 and #13780.

comment:10 bpetty10 months ago

  • Milestone changed from 3.6 to WordPress.org

As the Twenty Thirteen part of this issue is handled, moving to WordPress.org milestone.

comment:11 SergeyBiryukov10 months ago

  • Summary changed from Twenty Thirteen: WordPress Version Requirement Support to WordPress Version Requirement Support for Themes

comment:12 SergeyBiryukov10 months ago

#16868 was marked as a duplicate.

comment:13 cais10 months ago

  • Cc edward.caissie@… added

comment:14 mercime10 months ago

  • Cc mercijavier@… added

comment:15 DrewAPicture8 months ago

  • Component changed from WordPress.org site to Themes
  • Keywords twentythirteen removed
  • Milestone changed from WordPress.org to Awaiting Review
  • Priority changed from high to normal

comment:16 iandunn8 months ago

The Meta team discussed this and concluded it's more of a Core issue, since the fundamental checks will happen there. If anything is needed from the API or the theme repo, please open ticket(s) on http://meta.trac.wordpress.org.

comment:17 iandunn8 months ago

  • Cc ian.dunn@… added
Note: See TracTickets for help on using tickets.