This documentation is under development. Please let me know if you miss anything.

High level architecture

  • Please consult the documentation of each plugin via the Docs submenu.

Namespace Collision Avoidance System, NCAS.

All code belongs in the WPA namespace. This means that functions and classes in WP Awesome will never┬ácollide with other plugins. We don’t use function prefixes.


The wp-awesome.php file registers a class autoloader for the WPA namespace. Then it calls WPA\Awesome::load(), which in turn calls the load method of every enabled add-in.

That’s it!


Addins are stored in the modules/ folder, and each add-in declares a namespace WPA\Module\ModuleName. The module has a class WPA\Module\ModuleName\ModuleName that declares a static load() method.

The simplest possible add-in class has this form:

namespace WPA\Module\SimpleModule;
class SimpleModule {
    public static function load() {
        // Integrate with WordPress, however you like - using \add_action() or \add_filter().