Abuja Digital Studio · Est. 2018
Start a Project
DocsOrravo CoreAdmin shell and command palette
Reference

Admin shell and command palette

Orravo Coreorravo.com/docs/orravo-core/shell-palette

Opting a plugin into the shell

From any sibling plugin:

phpif ( class_exists( 'OC_Shell' ) ) {
    OC_Shell::register_screen( 'my-plugin', 'My Plugin' );
    OC_Shell::register_command( [
        'id'    => 'my-plugin-dashboard',
        'label' => 'My Plugin - Dashboard',
        'url'   => admin_url( 'admin.php?page=my-plugin' ),
        'group' => 'My Plugin',
    ] );
    OC_Shell::open( [
        'plugin'  => 'my-plugin',
        'name'    => 'My Plugin',
        'version' => '1.0.0',
    ] );
    // ... your page body ...
    OC_Shell::close();
}

When OC_Shell::open() runs, the rail, top bar, and command palette wrap your admin page automatically.

Command palette filter

Add commands without modifying any plugin:

phpadd_filter( 'orravo_command_palette_items', function( array $items ): array {
    $items[] = [
        'id'    => 'my-shortcut',
        'label' => 'Open Trello board',
        'url'   => 'https://trello.com/...',
        'group' => 'External',
    ];
    return $items;
} );

Users open the palette with Cmd+K on macOS or Ctrl+K on Windows/Linux.

Product registry

The known-products list lives in OC_KNOWN_PRODUCTS. Sibling plugins also self-register via orravo_register_product:

phpadd_filter( 'orravo_register_product', fn( array $p ): array =>
    array_merge( $p, [ 'my-plugin' => 'My Plugin' ] )
);

The license validator, update checker, and system status page all read this registry via oc_orravo_products().

Admin shell and command palette · Orravo Core Docs | Orravo