The 404page plugin now works with WPML – and other enhancements

Posted on 2016-02-23

I've quit blogging here.

This will be removed soon.

Version 2.0 of the 404page Plugin is more or less a completely new development. This was necessary to solve several compatibility issues.

Known compatibility issues with the following products are solved by the new version:

Multilingual error pages

Together with the WPML Plugin the 404page Plugin now allows you to have 404 error pages in different languages! For example www.example.com/en/this-page-does-not-exist shows the english error page and www.example.com/de/this-page-does-not-exist shows the german error page.

Directly accessing the 404 error page now throws an 404 error

Sounds weird? As the 404 error page is created as a normal page of course it is also accessible by its URL. As yet accessing the 404 page directly resulted in an HTTP status code 200, which means “OK” because the page physically exists. As of now directly accessing the 404 error page by its URL also throws an 404 error. Not weird.

New menu location

The 404page settings menu was moved from “Settings” to “Appearance” in WordPress Admin Panel which is more suitable.

Translations

The 404page Plugin no longer comes with translation files included, but exclusively uses GlotPress – the wordpress.org Translation System. Translations can be submitted at translate.wordpress.org.

Translation are highly appreciated. It would be great if you’d support the 404page Plugin by adding a new translation or keeping an existing one up to date. If you’re new to GlotPress take a look at the Translator Handbook.

A bit more technical details about compatibility issues – simplified

WordPress provides so called hooks to allow developers to “hookinto” the core and change the functionality of WordPress. If a theme or plugin uses the same hook than another plugin – or a depending hook – one of them (or both) may not work correctly.

As yet the 404page Plugin used the best possible hook to display the error page, which means that the WordPress Template System identified 404 errors, the 404page just changed the way how WordPress works in case of an occurring 404 error. This was supposed to work in any case – but not if a plugin or a theme changes the way the WordPress Template System works.

To ensure compatibility with WPML – which was the main goal of version 2.0 – a completely different approach was necessary, because WPML naturally completely has to change the way how the WordPress Template System works to do its job. The 404page Plugin now bypasses the WordPress core functionality to identify an 404 error and tries to figure this out by itself. This method now is independent from the WordPress Template System and should work in (almost) any case – hope so.

View related Plugin

Share this page: