Performance: Permission callbacks
MEDIUM IMPACT
This affects how quickly WordPress checks user permissions before rendering content or executing actions, impacting interaction responsiveness.
register_rest_route('myplugin/v1', '/data', array('methods' => 'GET', 'callback' => 'my_callback', 'permission_callback' => function() { return current_user_can('manage_options'); }));
register_rest_route('myplugin/v1', '/data', array('methods' => 'GET', 'callback' => 'my_callback', 'permission_callback' => function() { return current_user_can('manage_options') && expensive_db_check(); }));
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Expensive permission callback with DB query | N/A (server-side) | N/A | N/A | [X] Bad |
| Simple capability check in permission callback | N/A (server-side) | N/A | N/A | [OK] Good |