Information page about PHP versions and updates, to be used through the WordPress.org project.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

WordPress PHP education initiative (codename servehappy)

Edit in GitHub

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.

Background

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.

Following along

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
ongoing TBD
Resource Collection the servehappy resources repository ongoing TBD
Information Page on WP.org - trac ticket
- live page
active 08-feb-2018
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.

Tide Project

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: