Quick Navigation Interface

Description

Quick Navigation Interface provides a new way to navigate through the Administration Panels, combining the speed of keyboard shortcuts with the ease of a graphical user interface.

Just press g or ` — the backtick character, usually located above the tab key — to bring up the interface, and then start typing part of the name of any screen, post, page, etc. As you type, you’ll be shown a list of matching links. Use the Up and Down keys to move between them, and press Enter to open one.

This was inspired by Ubuntu’s Dash and HUD, and is also similar to the Spotlight feature in OS X.

Screenshots

  • Pressing g or ` brings up the interface
  • Matches are displayed and filtered as you type

FAQ

I’m pressing `g` or the ` key, but nothing happens

There are a few likely causes for this:

  1. The page hasn’t finished loading yet. Make sure you wait until the circle in the title bar has stopped spinning.
  2. The cursor could be focused on an input field (like a text area or a button). Try clicking anywhere outside an input field (like the page’s background) to move the focus off of the input field, and then try to open the interface again.
  3. If you’re not using an English keyboard, the key might not work. You can pick another key by following the instructions in the FAQ entry below. To help improve this for other non-English users, please let me know what a good key would be for your language.
  4. You might be mistaking the ` (backtick) key for the ‘ (single-quote) key. You need to press the backtick key, which is normally located above the tab key and left of the 1 key. You can also try using the g key instead.
  5. JavaScript execution might have been halted because of errors on the page, which would most likely be caused by the theme or another plugin. You can check your browser’s error console for details, and send the error to the plugin’s developer. To work around it, try disabling all other plugins temporarily, and switching to one of the Core themes, and see if that solves the problem. If it does, turn them back on one-by-one until you isolate which one is causing the problem.
Why doesn’t the content I’m searching for show up?

There are a few reasons why you may not see all content.

  1. For performance reasons, only a limited number of posts are searched. The default is 500, and can be changed via the qni_content_index_params filter.
  2. The search term must match the title of the content exactly. It doesn’t need to be the entire word, but it can’t be a typo or a “fuzzy” match.
  3. You’ll only be shown content that your user account has permission to edit.
Can I customize the keyboard shortcuts and other options?

There isn’t a settings page, but all of the internal options can be modified via the qni_options filter. If you’re not familiar with using filters, you can learn more about them from the WordPress Plugin Developer’s Handbook, and then implement them in a functionality plugin that you write, or via a plugin like Functionality.

The values of the keys must correspond to JavaScript keyCodes, and the plugin doesn’t currently support using combinations. Be careful to choose keyCodes which are consistent across browsers.

How can I edit the JavaScript files?

Unfortunately modern JavaScript makes this more difficult than editing PHP, but there are instructions in the GitHub repository.

Is this plugin secure?

I’ve done my best to ensure that it is, but just in case I missed anything I also offer a security bounty for any vulnerabilities that can be found and privately disclosed in any of my plugins.

Reviews

September 2, 2019
This plugin saves me a lot of time to look for settings, posts or pages. It functions with a physical keyboard, so on my laptop, it works out of the box. It is nice that it needs no configuration. Thank you so much!
February 18, 2018
Thanks for making such a great plugin. I've been thinking about making my own plugin that does something like this and only stumble upon this by chance. Works really well and super useful for getting to content quickly. Really appreciate the effort you've put into this. My only feedback would be to increase the search results to 5 or 6 maybe, but apart from that it's great!
Read all 4 reviews

Contributors & Developers

“Quick Navigation Interface” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

v1.0.1 (2019-11-19)

  • [FIX] Restore ability to search posts for users in Chrome/Safari on sites without SSL certificates.q
  • [FIX] Expire stale cached content indexes that are missing the type field added in v1.0.
  • [FIX] Fix several minor errors in browser console.

Full changelog

v1.0 (2019-11-13)

  • [NEW] The g key now also opens the interface, in addition to the ` (backtick) key.
  • [NEW] Highlighting a link shows a preview of its URL, so you can know where it will take you.
  • [NEW] Links for menu items include their parent menu title, if applicable.
  • [NEW] The type of link is now displayed (post, page, menu item, etc).
  • [NEW] The plugin can now be translated on WordPress.org.
  • [NEW] Front end rebuilt in React, using Gutenberg’s library of UI components, the REST API, and local storage.
  • [FIX] Removed duplicate on-page links from the results.
  • [FIX] Fixed conflict with using backtick key within Gutenberg editor.

Breaking Changes:

  • [REMOVED] The ['shortcuts']['close-interface'] item in the array passed to the qni_options filter has been removed. QNI now uses the Modal component provided by Gutenberg, which only uses the Escape key to close it.
  • [REMOVED] The qni_template_path and qni_template_content filters have been removed, and files like qni-interface.php in your theme will no longer be used. This is because the plugin now declares the templates in React. There aren’t currently any plans to make them customizable.

Full changelog

v0.7 (2019-02-14)

  • [SECURITY] Prevent leaking private post titles.

v0.6 (2016-03-10)

  • [FIX] Add compatibility with WordPress 4.5 / Backbone 1.2.3 by concatenating JavaScript files in order of dependence.

Full changelog

v0.5 (2015-11-01)

  • [FIX] Properly display HTML entities in post titles.

Full changelog

v0.4 (2015-08-14)

  • [UPDATE] Close button markup updated to match WordPress 4.3.

v0.3 (2015-06-12)

  • [NEW] Added hierarchy information to menu items.
  • [NEW] Added German localization (props tmconnect).
  • [FIX] Added missing text domain.

Full changelog

v0.2 (2015-05-24)

  • [NEW] Post, pages, and other content now appears in the search results.
  • [FIX] Exact duplicate links have been removed from the search results.

Full changelog

v0.1 (2015-05-22)

  • [NEW] Initial release