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;
}