WordPress in the currently latest version 5.5.3 produces a 404 error when trying to enable just released PHP 8. Why?

Officially WordPress will only be compatible with PHP 8 from version 5.6, which is scheduled for December 8, 2020. RC core version of WordPress 5.6 works correctly with PHP 8, the problem has been fixed. However, it is interesting to understand what is the source of the problem.

WooCommerce and 1C:Enterprise/1С:Предприятие Data Exchange plugin is the only working solution for data exchange between WooCommerce and 1C:Enterprise. For a long time, it does not has support by authors, what caused problems with last WooCommerce versions.

We improved the plugin, fixed some bugs, and tested its functionality under WC 3.7. Fork of the plugin is available in our repository.

In PHPUnit-testing, it is often encountered a code which depends on internal PHP functions like phpversion(). Approach to testing is described in the current article.

Let us consider as a simple examle a class which checks current PHP version and tells if it satisfies requirements.

Cyr-To-Lat plugin, in which development we take active participation, grew recently to more than 100,000 active installs. In the last 10 months it grew by 30% (from 70,000 active installs).

New impulse to the popularity of the plugin gave such features as:

  • Increased number of transliteration languages (now it is Russian, Belorussian, Ukrainian, Bulgarian, Macedonian, Georgian, Kazakh, and Hebrew.
  • Friendly interface of transliteration tables
  • Conversion of any number of existing post, page, and term slugs in background processes
  • WP-CLI support
  • Reliable code, with 100% test coverage

In the nearest plans – support of Serbian, Turkmen, and Chinese languages, official WPML compatibility status, performance improvement.

The new version 2.2 of the WOOF by Category plugin, whose number of active installations exceeded one thousand, has a significant improvement in performance.

On client sites with a long list of product categories, there was a significant slowdown in the generation of WooCommerce pages with WOOF filters. The reason is that the WOOF plugin requests its options hundreds of times during page generation. These calls are handled by WOOF by Category to ensure its functionality.

On the site with 2,000 products and 70 categories option was requested 800 times during the generation of the page. The caching used in version 2.2 reduced the number of executions of the main WOOF by Category function to one, and the page generation time on the above site was reduced from 4.5 to 1.5 seconds.

When translating with WPML custom fields created by the ACF plugin, the question arises – how to make all fields translatable? Usually on the site there are quite a lot of such fields (hundreds – a typical example) and to click in the WPML settings hundreds of times – quite tedious work.

Below is an example of how to do this with the code.