DocsONavDeveloper API
Developer

Developer API

ONavorravo.com/docs/onav/developer-api

Developer API

Rendering

php// Render the primary nav (same as do_action('onav_primary'))
ONAV_Renderer::render_primary();

// Render the footer nav
ONAV_Renderer::render_footer();

// Render topbar v2 only
ONAV_Renderer::render_topbar_v2();

Config Helpers

php// Read full config (merged with style defaults)
$config = ONAV_Config::get();

// Write config
ONAV_Config::save( $config );

// Get a single value with dot-notation key
$accent = ONAV_Config::get_value( 'primary.appearance.accent' );

// Reset to defaults for a specific style
ONAV_Config::reset_style( 'aurora' );

Filters

php// Modify nav items before render
add_filter( 'onav_primary_items', function( array $items ): array {
    // Add a dynamic item
    $items[] = [
        'label' => 'Dashboard',
        'url'   => '/dashboard',
        'type'  => 'link',
    ];
    return $items;
});

// Modify footer columns
add_filter( 'onav_footer_columns', function( array $columns ): array {
    return $columns;
});

// Filter the rendered HTML
add_filter( 'onav_primary_html', function( string $html ): string {
    return $html;
});

Actions

php// Fires before primary nav renders
add_action( 'onav_before_primary', function() {} );

// Fires after primary nav renders
add_action( 'onav_after_primary', function() {} );

CSS Variables

ONav outputs inline CSS variables on every page load (via wp_head):

css:root {
  --onav-bg:           #0a0a0a;
  --onav-text:         #f5f1e8;
  --onav-link:         #f5f1e8;
  --onav-link-hover:   #ff3d00;
  --onav-accent:       #ff3d00;
  --onav-border:       rgba(255,255,255,0.1);
  --onav-height:       72px;
}
Developer API — ONav Docs — Orravo