Advanced Sidebar Menu


Fully automatic sidebar menus.

Uses the parent/child relationship of your pages or categories to generate menus based on the current section of your site. Assign a page or category to a parent and this will do the rest for you.

Keeps the menu clean and usable. Only related items display, so you don’t have to worry about keeping a custom menu up to date or displaying links to items that don’t belong.

Widgets and blocks are available to display menus where you need them. Look for the «Advanced Sidebar — Pages» widget or block, or the «Advanced Sidebar — Categories» widget or block.

Check out Advanced Sidebar Menu PRO for more features including accordion menus, menu colors and styles, custom link text, excluding of pages, category ordering, custom post types, custom taxonomies, priority support, and so much more!

PRO version 9.2.0 is now available with the ability to exclude pages or categories using intuitive search and select!


  • Page and Category menu Gutenberg blocks.
  • Page and Category menu widgets.
  • Option to display or not display the highest level parent page or category.
  • Option to display the menu when there is only the highest level parent.
  • Ability to order pages by (date, title, page order).
  • Exclude pages or categories by entering a comma separated list of ids.
  • Option to always display child pages or categories.
  • Option to select the levels of pages or categories to display when always display child is used.
  • Option to display or not display categories on single posts.
  • Ability to display each single post’s category in a new widget/block or in same list.

Page Menu Options

  • Display the highest level parent page.
  • Display menu when there is only the parent page.
  • Order pages by (date, title, page order).
  • Исключенные страницы.
  • Always display child Pages.
  • Levels of child pages to display when always display child pages is checked.

Category Menu Options

  • Display the highest level parent category.
  • Display menu when there is only the parent category.
  • Display categories on single posts.
  • Display each single post’s category in a new widget/block or in same list.
  • Exclude categories.
  • Always display child categories.
  • Levels of Categories to display when always display child categories is checked.

PRO Features

  • Navigation menu widget.
  • Navigation menu Gutenberg block.
  • Ability to customize each page or navigation menu item link’s text.
  • Click-and-drag styling for page, category, and navigation menus.
  • Styling options for links including color, background color, size, hover, and font weight.
  • Styling options for different levels of links.
  • Styling options for the current page or category.
  • Styling options for the parent of the current page or category.
  • Blocked styling options including borders, border width, and border colors.
  • Option to choose from 7 bullet styles or no bullets.
  • Accordion menu support for pages, categories, and navigation menus.
  • Accordion icon style and color selection.
  • Accordion option to keep all sections closed until clicked.
  • Accordion option to include highest level parent in accordion.
  • Accordion option to use links for open/close.
  • Ability to exclude a page from all menus using a simple checkbox.
  • Link ordering for the category menus.
  • Number of levels of pages to show when «always display child pages» is not checked.
  • Ability to select and display custom post types.
  • Ability to select and display custom taxonomies.
  • Ability to display category post counts.
  • Exclude pages or categories using intuitive search and select. NEW
  • Option to display only the current page’s parents, grandparents, and children.
  • Option to display child page siblings when on a child page (with or without grandchildren available).
  • Ability to display the menu everywhere the widget area is used (including homepage if applicable).
  • Ability to select the highest level parent page/category.
  • Ability to select which levels of categories assigned posts will display under.
  • Ability to display assigned posts or custom post types under categories or taxonomies.
  • Ability to limit the number of posts or custom post types to display under categories.
  • Support for custom navigation menus from Appearance -> Menus.
  • Ability to display the current navigation menu item’s parents and children only.
  • Option to display the top-level navigation menu items when there are no child items or not viewing a menu item.
  • Priority support with access to members only support area.

Included Language Translations

  • English (en_US).
  • French (fr_FR).
  • German (de_DE).
  • Spanish (es_ES).


The official documentation for the plugin may be found here.


Developer docs may be found here.


Send pull requests via the GitHub Repo


  • Page widget options.
  • Category widget options.
  • Example of a page menu using the 2017 theme and default styles.
  • Example of a category menu ordered by title using the 2017 theme and default styles.


Этот плагин предоставляет 2 блока.

  • Advanced Sidebar - Categories Creates a menu of all the categories using the parent/child relationship
  • Advanced Sidebar - Pages Creates a menu of all the pages using the parent/child relationship


Use the standard WordPress plugins search and install.

Manual Installation

  1. Upload the advanced-sidebar-menu folder to the /wp-content/plugins/ directory
  2. Активируйте плагин используя меню ‘Плагины’ в WordPress
  3. Drag the «Advanced Sidebar — Pages» widget, or the «Advanced Sidebar — Categories» widget into a sidebar.
  4. Use the block inserter to insert the «Advanced Sidebar — Pages» block, or the «Advanced Sidebar — Categories» block into Gutenberg content.

Часто задаваемые вопросы

The menu won’t show up?

The menu in this plugin are smart enough to not show up on pages or categories where the only thing that would display is the title. While it may appear like the menu is broken, it is actually doing what it is intended to do.

The most common causes for this confusion come from one of these reasons:
1. The incorrect menu was selected. Categories have their own widget/block as pages have their own widget/block.
2. «Display the highest level parent page» or «Display the highest level parent category» is not checked.
3. The Pages menu is currently not being viewed on a page.
4. The Categories menu is not currently being view on a category.

How do I change the styling of the current page?

You may add CSS to your theme’s style.css to change the way the menu looks.

For example the following CSS would:
1. Remove the dot to the left of the menu item.
2. Change the link color.
3. Add a background on hover.

.advanced-sidebar-menu li.current-menu-item a {
    color: black;
.advanced-sidebar-menu li.current-menu-item {
    list-style-type: none !important;
.advanced-sidebar-menu li.current-menu-item > a:hover {
    background: teal;

To style your menu without using any code upgrade to PRO.

How do you get the categories to display on single post pages?

The Categories Menu widget/block contains a «Display categories on single posts» checkbox, which will display the category menus based on the categories the current post is assigned to.

Does the menu change for each page you are on?

Yes. Based on whatever page, post or category you are on, the menu will change automatically to display the current parents and children.


I'd love to have a plugin like this but I can't make it work. Best I can do is make a list of categories, but I can't get it to list individual posts within a category. Tried everything. Nothing works. Not even sure if it's supposed to display individual posts in a category. There's no information in what might be laughlingly called 'Documentation'. I spent a large chunk of my day trying to make this thing work and it simply does not work.
Advanced Sidebar Menus is a nice little plugin that does what it says it does right out of the box. All you have to do is place the correct widget (for page hierarchy OR post category hierarchy) in the right location. Good job!
This is great, I'm using this plugin on a site with more than 100 pages and half a dozen categories. Previously to have different links on different pages. I made multiple sidebars. Keeping track in the widget area was work, with lots of clutter. Returning to a site made months before to change something was a bit daunting. This is so simple, if you are using pages, use the child parent relationship and for posts categories. I use the default sidebar and two widgets, simple, clean, straightforward... As long as I link the page with a parent or post with a category it's all automatic...
Посмотреть все 35 отзывов

Участники и разработчики

«Advanced Sidebar Menu» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:


«Advanced Sidebar Menu» переведён на 8 языков. Благодарим переводчиков за их работу.

Перевести «Advanced Sidebar Menu» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений


  • Separated the exclude pages/categories field into a filterable component.
  • Updated links to various documentation.
  • Added default values to most block attributes.
  • Updated block attribute TS definitions to accurately reflect default values.
  • Updated TS to version 5.
  • Updated PHPCS scanning to version 3 of WP PHPCS standards.
  • Loosely update the minimum requirement for PRO to version 9.2.0.


  • Changed default limit of child pages to 200 instead of 100.
  • Simplified and improved the List_Pages::parse_args method.
  • Added links to documentation in the plugins list.
  • Tested to WordPress core 6.3.1.


  • Fixed compatibility with Jetpack widget visibility.
  • Included the screen and section information in ErrorBoundary data.
  • Improved static analysis testing.
  • Improved unit testing for WordPress 5.8.
  • Tested to WordPress core 6.3.0.


  • Fixed conflict with Stackable WordPress plugin in the theme customizer.
  • Improved block script reliability.
  • Improved handling of Elementor previews.
  • Improved error boundary informational messages.
  • Removed conflicts with POST method requests.


  • Disabled legacy widgets by default see docs.
  • Update browser list support.
  • Improved the widget/block transformation logic and types.
  • Removed dangling WordPress version < 5.6 requirements.
  • Tested to WordPress core 6.2.2.


  • Fixed data-level on category menus larger than 3 levels.
  • Included classic widgets flag in debug information.
  • Required PRO version 9.1.2+.


  • Improved extendability by removing all private access modifiers.
  • Fully support PHP 8.1.
  • Tested to WordPress Core 6.2.0.


  • Switched to static uses of class constants to improve extendability.
  • Switched to full namespaced constants.
  • Improved PHPCS definitions.
  • Improved translations.
  • Included help information for the category widget exclude settings.


  • Added «current-menu-ancestor» CSS class to Pages and Categories menus.
  • Introduced «advanced-sidebar-page» CSS class to Pages menus.
  • Tested to WordPress Core 6.1.1.


  • Fixed issue with styles not loading in Elementor.
  • Tested to WordPress Core 6.0.2.


  • Moved advanced-sidebar-menu CSS class to block widget wraps.
  • Introduced isScreen helper to make screen conditionals cleaner.
  • Included «Display each single post’s categories» option on the customizer screen.
  • Included PHP version in debug information.
  • Improved readme.


Full release notes.

  • Introduced Gutenberg blocks.
  • Improved translations.
  • Improved Elementor support.
  • Removed all deprecated functionality.
  • Required PRO version 9.0.0+.
  • Required WordPress Core 5.8.0+.
  • Drop support for PHP 5.6 if favor of PHP 7.0+.
  • Numerous bug fixes.


  • Introduced advanced-sidebar-menu/menus/category/top-level-term-ids filter.
  • Supported PRO version 8.9.2.


  • Fixed widget id generation with block based widgets.
  • Introduced advanced-sidebar-menu/core/include-template-parts-comments filter.
  • Organized the Menu_Abstract class constants.
  • Tested to WordPress Core 6.0.1.


  • Introduced advanced-sidebar-menu/menus/page/is-excluded filter.
  • Introduced advanced-sidebar-menu/menus/category/is-excluded filter.
  • Tested to WordPress Core 6.0.0.
  • Required PRO version 8.7.0+.


  • Implement universal ‘menu-item’ style CSS classes to all menus.
  • Introduced Category::is_current_top_level_term method.
  • Introduced Category::get_current_ancestors method.
  • Introduced Category::is_current_term method.
  • Enabled PHPCS caching.
  • Required WordPress core version 5.4.0+.
  • Tested to WordPress 5.9.3.


  • Include WP core version in debug info.
  • Tested to WordPress 5.9.2.


  • Improved position of close icon in widget previews.
  • Improved plugin links utm structure.
  • Added a «Go PRO» action to the plugins list.
  • Prevented overrides of non-public post types during debugging.


  • Fine tune widgets styles for WordPress 5.9.
  • Tested to WordPress 5.9.


  • Use Webp extension for preview images.
  • Simplify the Widget names.
  • Introduce Utils::array_map_recursive method for deep sanitization.
  • Support multidimensional arrays in debug overrides.
  • Tested to WordPress 5.8.3.
  • Required PRO version 8.5.0+.


  • Introduced advanced-sidebar-menu/debug/print-instance filter.
  • Improved FAQ information.
  • Remove dangling reference to old built in styles from FAQ.


  • Fix issue with CSS classnames on the current page’s children.


  • Assured consistency for levels of page menu’s CSS classes.
  • Converted category get the highest parent logic to get_ancestors.
  • Gracefully handle invalid taxonomies in Category widgets.
  • Gracefully handle widgets without ids.
  • Fixed color pickers in Elementor.
  • Fixed color pickers in Beaver Builder.


  • Improved widget interaction handling.
  • Synced styles between block, classic and customizer widgets.
  • Fixed customizer widget buttons.


  • Support WordPress version 5.8.
  • Support Gutenberg widgets screen.
  • Minimum required version for PRO 8.5.


  • Introduce Utils class for shared non specific functionality.
  • Introduce is_checked method for determining checkbox state from anywhere.
  • Make Widget_Abstract::set_instance public for external use.
  • Complete preparations for PRO version 8.4.
  • Minimum required version for PRO 8.4.


  • Introduce new Category Walker to increase extensibility.
  • Support data-level on all widgets.


  • Support widget fields with array values.


  • Introduce data-level on all page menu levels for specific targeting.
  • Tested to WordPress 5.7.2.


  • Fully compatible with PHP8.
  • Tested to WordPress 5.7.1.


  • Add readme for translations.
  • Tested to WordPress 5.7.
  • Require WordPress core 5.2+.
  • Improved PHPCS configuration.


  • Improved plugin headers.
  • Added translations for French (fr_FR).
  • Added translations for Spanish (es_ES).
  • Expose Category::is_tax method for public filters.
  • Improved type casting and PHPStan static type checking.
  • Fix tense in readme.txt words.


  • Improved widget labels, descriptions and styles.
  • Support blocked styling borders on all levels.
  • Improved Beaver Builder and Elementor styles.
  • Improved info panel.


  • Improved readme.
  • Tested to WordPress 5.6.0.


  • Restructure widget info panels.
  • Introduced new advanced-sidebar-menu/widget/page/before-columns action.
  • Introduced new advanced-sidebar-menu/widget/category/before-columns action.
  • Improved PHPCS exclusion declarations.
  • Improved CSS structure.
  • Improved JavaScript structure.


  • Improved styles when used with Beaver Builder.
  • Require WordPress version 5.0.0+.


  • Allow List_Pages::get_args() to be filtered on any level.
  • Make debugging functionality more stable.


  • Introduced new advanced-sidebar-menu/menus/category/get-child-terms filter
  • Support filtering the first level of categories.
  • Use is_excluded vs is_first_level_category in category view.


Major version update. See migration guide if you are extending the plugin’s functionality via action, filters, or calling plugin classes.