Home CMS Tutorial WordPress Compatibility of WordPress plugins, themes and PHP8

Compatibility of WordPress plugins, themes and PHP8

Dec 14, 2020 pm 02:48 PM
php8 wordpress

The following column WordPress Tutorial will introduce to you the compatibility of WordPress plug-ins, themes and PHP8. I hope it will be helpful to friends in need!

Compatibility of WordPress plugins, themes and PHP8

About WordPress plugins, themes and PHP 8 compatibility

PHP8 was released on November 26, 2020, WordPress core writer Jonathan De Jonathan Desrosiers published an article on the "Making WordPress Core" blog about the impact of PHP8 on WordPress. From the article, it can be confirmed that the current version of WordPress is not guaranteed to run perfectly in PHP8, especially with numerous themes. And plug-in compatibility is even more unpredictable. WordPress 5.6, which will be released on December 8, 2020, is only a transitional version of PHP8, so do not try to upgrade to use PHP8 on your WordPress website at the moment.

Recommended related articles: "PHP8 is officially released"

The following is a machine translation.

PHP 8 Introduced

PHP 8 is the next major update to our favorite scripting language. While previous PHP versions didn’t have much of a negative impact on the WordPress ecosystem, this update has some breaking changes that may affect backward compatibility. It should also be noted that many features that were deprecated in PHP 7.x will now be removed in PHP 8.

The State of WordPress Core

In his post, Desrosiers highlighted the work being done to keep the core software up to date. "WordPress Core is targeting PHP 8.0 compatibility in version 5.6 (currently scheduled for December 8, 2020)," he wrote.

However, this does not mean that it is safe to upgrade to PHP 8 when WordPress 5.6 is released. WordPress rarely runs just on its own and usually relies on at least one theme and plugin collection as a blog or website. Therefore, he states, "The status of PHP 8 support in the broader ecosystem (plugins, themes, etc.) is impossible to know. Therefore, WordPress 5.6 should be considered "beta compatible" with PHP 8.

This means, essentially, that WordPress cannot be considered fully compliant until most major themes and plugins are PHP 8 compliant.

Understand how PHP 8 affects yours Plugin or Theme

Companies like Yoast have been preparing for this for a while. In late October, Yoast CTO Omar Reis spoke with fellow writer Juliette Linders-Folmer ( Juliette Reinders Folmer, Yoast DevOps manager Erre Groen, maintainer of the WordPress coding standards sniffer for PHPCS, compiled and published a comprehensive WordPress/PHP 8 compatibility report.

While I strongly It is recommended that you take the time to read through the entire report, but it does outline the main reasons why the PHP 8 upgrade will have such a huge impact on large WordPress sites, especially the plugin and theme ecosystem.

However, PHP 7.* versions look The amount of deprecations is much greater than in previous versions of PHP. PHP 5.6 to PHP 7 is a relatively simple migration, going from 7.x to 8 can be very painful, especially for very old code bases like WordPress and the many available Plugins. For well-typed codebases or codebases that have always kept the latest PHP version, there are no issues.

As a maintainer of some plugins, some built on code from eight years ago, The concern is that this upgrade could cause website outages.

How to Prepare

I asked Reese and Fulmer what plugin and theme developers can What to do to prepare, they shared some pointers.

First of all, developers should inform themselves about the changes in PHP 8: read the Make post about PHP 8, read the Yoast PHP8 Compatibility Report, read the PHP Manual section "Migrating from PHP 7.4 to PHP 8.0" and possibly dig deeper by reading the upgrade documentation in the PHP 8 branch and the RFCs for PHP 8.

Some available tools can be used to help find incompatibilities:

  • Run PHP flange on PHP8 via command (make sure to loop through all files) or using PHP parallel lint.php -l

  • Running PHP Compatible on Code: It should be noted that almost all PHP 8 related smells are in the not-yet-released version of PHP Compatible version 10.0.0, so one will need to use forks or work through Composer until version 10.0.0 is released. developdev-develop

  • Run unit/integration tests for plugins or themes on PHP 8 and fix any issues that go wrong. This usually means that the test suite first needs to be compatible with PHPUnit 9.3. The PHPUnit Polyfills package and the WP Test Utils package (both released under the Yoast GitHub organization) can help with this. It is also important to note that for this type of testing to have reliable performance, considerable test coverage is required.

  • Run WordPress unit tests and WordPress e2e tests, activate plugins, and fix any issues that arise.

  • Check if the (strict) code coverage of this test is high enough, if not, add more tests, making sure both happy and unhappy paths are covered.

  • If you don't have tests, test everything manually, paying special attention to "unpleasant paths", and expect to receive bug reports for the foreseeable future. In the meantime, it might be a good idea to look into implementing unit/integration tests for plugins or themes.

There’s still time, but it’s running out

As Desrosiers pointed out in the “Made” post, WordPress only officially targets Have PHP8 ready when 5.6 is released in early December. This may mean that many WordPress-focused hosting companies will only consider offering upgrades to their customers once WordPress core becomes compatible. So as plugin and theme developers we have some time to test our products and get them ready, but the window is closing fast.

Luckily, the latest knowledge and tools are out there. We just need to put them into action.

The above is the detailed content of Compatibility of WordPress plugins, themes and PHP8. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to adjust the wordpress article list How to adjust the wordpress article list Apr 20, 2025 am 10:48 AM

There are four ways to adjust the WordPress article list: use theme options, use plugins (such as Post Types Order, WP Post List, Boxy Stuff), use code (add settings in the functions.php file), or modify the WordPress database directly.

How to build a website for wordpress host How to build a website for wordpress host Apr 20, 2025 am 11:12 AM

To build a website using WordPress hosting, you need to: select a reliable hosting provider. Buy a domain name. Set up a WordPress hosting account. Select a topic. Add pages and articles. Install the plug-in. Customize your website. Publish your website.

What are the plugins for wordpress blocking ip What are the plugins for wordpress blocking ip Apr 20, 2025 am 08:27 AM

WordPress IP blocking plugin selection is crucial. The following types can be considered: based on .htaccess: efficient, but complex operation; database operation: flexible, but low efficiency; firewall: high security performance, but complex configuration; self-written: highest control, but requires more technical level.

How to change the head image of the wordpress theme How to change the head image of the wordpress theme Apr 20, 2025 am 10:00 AM

A step-by-step guide to replacing a header image of WordPress: Log in to the WordPress dashboard and navigate to Appearance >Theme. Select the topic you want to edit and click Customize. Open the Theme Options panel and look for the Site Header or Header Image options. Click the Select Image button and upload a new head image. Crop the image and click Save and Crop. Click the Save and Publish button to update the changes.

How to cancel the editing date of wordpress How to cancel the editing date of wordpress Apr 20, 2025 am 10:54 AM

WordPress editing dates can be canceled in three ways: 1. Install the Enable Post Date Disable plug-in; 2. Add code in the functions.php file; 3. Manually edit the post_modified column in the wp_posts table.

How to write a header of a wordpress How to write a header of a wordpress Apr 20, 2025 pm 12:09 PM

The steps to create a custom header in WordPress are as follows: Edit the theme file "header.php". Add your website name and description. Create a navigation menu. Add a search bar. Save changes and view your custom header.

How to import the source code of wordpress How to import the source code of wordpress Apr 20, 2025 am 11:24 AM

Importing WordPress source code requires the following steps: Create a sub-theme for theme modification. Import the source code and overwrite the files in the sub-topic. Activate the sub-theme to make it effective. Test the changes to make sure everything works.

What to do if there is an error in wordpress What to do if there is an error in wordpress Apr 20, 2025 am 11:57 AM

WordPress Error Resolution Guide: 500 Internal Server Error: Disable the plug-in or check the server error log. 404 Page not found: Check permalink and make sure the page link is correct. White Screen of Death: Increase the server PHP memory limit. Database connection error: Check the database server status and WordPress configuration. Other tips: enable debug mode, check error logs, and seek support. Prevent errors: regularly update WordPress, install only necessary plugins, regularly back up your website, and optimize website performance.

See all articles