With Impressum Plus 2.0.0 the complete structure of the plugin changed quite heavily to be more robust but also makes it easier to be extended in the future.

One note though: If you only have used the plugin without any development effort or just used given filters/hooks, you don’t need to do anything. The plugin will further work seamlessly as before.

Following you will find changes if you extended Impressum Plus in other ways, e.g. by calling classes directly.

Class and Namespace Changes

In some cases, classes and namespaces changed:

epiphyt\Impressum\Impressum_API => epiphyt\Impressum\api\Api
epiphyt\Impressum\privacy\Impressum_Privacy_API => epiphyt\Impressum\api\Privacy_Api
epiphyt\Impressum\Impressum_Backend => epiphyt\Impressum\Admin
epiphyt\Impressum\Impressum_Frontend => epiphyt\Impressum\Frontend
epiphyt\Impressum\Impressum_Helper => epiphyt\Impressum\Helper
epiphyt\Impressum\privacy\Impressum_Privacy => epiphyt\Impressum\privacy\Privacy
epiphyt\Impressum\privacy\Impressum_Privacy_Admin => epiphyt\Impressum\privacy\Admin
epiphyt\Impressum\privacy\Impressum_Privacy_System_Check => epiphyt\Impressum\privacy\System_Check
New: epiphyt\Impressum\api\IApi_Interface
New: epiphyt\Impressum\api\Imprint_Api
New: epiphyt\Impressum\privacy\Admin_Fields
New: epiphyt\Impressum\privacy\Frontend
New: epiphyt\Impressum\Admin_Fields
New: epiphyt\Impressum\Plugin_InformationCode language: PHP (php)


New APIs can use the IApi_Interface to fast and easily add their own custom API endpoint to Impressum Plus.

Extension and Subclasses

Except the class Epiphyt_License, there is no extension via extends anymore between classes. So you e.g. need to instantiate the helper class if you use it (see Instantiate Classes).

The two classes Impressum and Privacy contain their sub classes Admin and Frontend as callable class variables (for instance via Impressum::get_instance()->admin or Impressum::get_instance()->frontend) respectively.


Important methods, whose call changed (no claim to completeness):

Impressum_Backend::api_input_{$field}_callback() => Admin_Fields::{$field}()
Impressum_Frontend::imprint_shortcode() => Frontend::render()
Impressum_Frontend::is_valid() => Admin::is_valid_imprint()
Impressum_Frontend::ajax_notice_handler() => Admin::ajax_notice_handler()
Impressum_Frontend::get_invalid_fields() => Admin::get_invalid_fields()
Impressum_Frontend::reset_invalid_notice() => Admin::reset_invalid_notice()
Impressum_Helper::impressum_get_option() => Helper::get_option()
Impressum_Privacy::has_content() => System_Check::has_content()
Impressum_Privacy_Admin::{$field}_callback() => Admin_Fields::{$field}()Code language: PHP (php)

All prefixes of impressum_ in method names have been removed.

Instantiate Classes

(Nearly) All classes can be instantiated through their static method get_instance(). Excluded from this are classes, who extend the class Api.


$impressum = epiphyt\Impressum\Impressum::get_instance();Code language: PHP (php)