Docs

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.

Bootstrap

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!

Add-ins

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:

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