WordPress PHP education initiative (codename
The servehappy project is an initiative that seeks to educate WordPress site owners about the value of having the latest version of PHP powering their WordPress site. This supports the overall goal of increasing the percentage of WordPress installs running modern PHP versions.
One of the core tenets of WordPress is backwards compatibility. Support for PHP 5.2 is and has been part and parcel of that tenet. Over the years however, there has been increasing tension within the WordPress developer community on this support for PHP 5.2 between those who support keeping the minimum PHP version requirements the same for WordPress core, and those who want to increase the minimum PHP version requirements for WordPress core. There have been numerous arguments made for either side and you can follow some of the discussion here.
Beginning around mid 2017, there were a number of discussions initiated (in various channels) about resolving some of this tension and keeping WordPress as a project moving forward with PHP language related topics. Out of these discussions, a number of initiatives were started that support the overall initial goals of:
- Encouraging Web host providers to provide the latest PHP versions and provide an upgrade path for their customers to get on the latest versions (this is something that has been happening for a while now)
- Educating site owners about PHP and why PHP version matters.
- Decreasing the amount of reported WordPress sites running older EOL (End Of Life) versions of PHP.
Once these goals have been reached, then it becomes possible to more practically begin discussions about:
- Increasing the minimum PHP requirements of WordPress
- Introducing more modern PHP practices/design patterns etc that require later PHP versions in WordPress PHP code design and structure.
For clarity, its worth re-iterating here, that the immediate goal of the latest PHP initiatives (of which the servehappy project is a part) is not to raise the minimum requirements for PHP in WordPress core. The immediate goal is to put in place supporting structure and site owner education/resources etc so that we can more actively reduce the number of existing active WordPress sites on older PHP EOL versions.
We will endeavour to keep this document up to date, but for all the most recent information you will want to follow along at:
Big picture overview
The following table gives a high level overview of all the various components contributing to the servehappy initiative.
Note: all delivery dates are rough estimates only.
|Deliverable||Links||Status||Est Delivery Date|
|Benefit/Stats Collection||- issue tracker
- Benefits & Stats project board
|Resource Collection||the servehappy resources repository||ongoing||TBD|
|Information Page on WP.org||- trac ticket
- live page
|Admin Notice in Dashboard||- Create browse happy type notice for PHP versions
- Integrating the Servehappy Page with WordPress Core
|active||2nd Quarter 2018|
|Minimum PHP version API for plugins/themes in core||- trac ticket||active||3rd Quarter 2018|
A more descriptive outline of some of the concrete deliverables associated with the servehappy initiative:
Collection of Benefits and Stats
Ongoing collection of benefits and statistical data is used to help sell the "update PHP" proposition to users. These have been collected as issues in the issue tracker and managed in the Benefits & Stats project board.
If you want to suggest a new benefit or stat, please create a new issue and label it accordingly.
Collection of various third-party articles and hosting resources
See the servehappy resources repository where there is an ongoing effort to collect a resource library of third-party articles, and PHP upgrade tutorials (including host specific tutorials) that can be utilized in other resources developed as a part of this initiative.
Information page about PHP versions and updates.
This page will live on WordPress.org and is intended to be referenced throughout the WordPress.org project and eventually linked to from the WordPress dashboard for sites not meeting a minimum PHP version requirement for the notice to appear.
Admin notice in WordPress Dashboard
This admin notice will serve as a portal into more substantive educational pieces (linking through to the Information page about PHP versions and updates).
Minimum PHP version API for plugins/themes in core
The proposal is to allow plugins and themes to have a minimum PHP version requirement. This will involve work done in WordPress core and the WordPress.org plugin repository to support this. More details can be tracked via the trac ticket
PHP Compatibility Checker
While not directly related to the servehappy initiative, the PHP Compatibility Checker is a free third-party plugin that allows site owners to check compatibility of their plugins and themes with specific PHP versions. In the current version of the draft, this plugin is recommended to be used as a prerequisite. The servehappy team has been collaborating with the developers of that plugin, to prepare it for that purpose.
Similar to the above plugin, the Tide Project will indirectly support the various efforts in process. It will particularly help with providing feedback to users about what plugins/themes they have in use on their site that might not be compatible with a PHP version being upgraded to. It is currently unknown what an integration could look like, due to the early stage the service is in.
See here for an overview of what the tide project is
Related Trac tickets/Other Resources
This is a list of trac tickets that have some relation to the overall servehappy project: