I’m sure there is a more elegant approach (I’d love to know about!). Anyhow: I’d like to offer a solution.
You could create a default sidebar with default widgets and a custom sidebar with all available custom widgets. Then you use a combination of the following plugins: simple fields and widget logic to only show a selection of widgets.
How to:
- Fill the default sidebar, add a condition that shows this sidebar only if a certain metadata value is NOT set.
- Fill the custom sidebar with all optional widgets, add a condition to every widget to show up only if a certain metadata field is available
- Set up simple fields to write the conditional metadata
This way works quite well for me, though it is not very pretty.
Hope it helps or gives ideas for further extension.
Related Posts:
- Limit number of Widgets in Sidebars
- Give Editor Access To Sidebar
- Where is the content of widgets stored in mysql table
- Get number of widgets in sidebar
- Individual Widgets per Page
- Show Woocommerce minicart widget in checkout page sidebar? And, how to make this update secure by overriding widget?
- Get sidebar parameters (before_widget, before_title, etc.) from within a widget
- Different widgets on different page templates?
- Widgets not displaying in theme customizer
- $post>ID displays wrong post ID
- Register multiple sidebars
- Video Embed in Sidebar Widget with Links to Others in Category
- Remove All Widgets from Sidebar
- Add div class to only one widget
- Unregistering a Sidebar in Child Theme
- Problems with the sidebar args and wp_list_bookmarks
- Ban certain widgets from certain sidebars
- Manual display of widget
- Sidebar Widget Registration without a name, how is it assigned to new named sidebar widget?
- is_active_sidebar() Always Returns False
- Call sidebar from a template
- How could a Widget behave differently depending on sidebar
- Adding classes to dynamic sidebar
- Is there a way to allow only certain type of widgets in the sidebars?
- Create variable from widget instance
- Save/update widget outside admin panel [closed]
- How to insert widget areas specific to certain pages (or posts, etc.)?
- List sidebars on a page
- WordPress widget new instance creates content duplicates
- the_widget() and widget’s ID
- Removing custom widget area WordPress 4.4 [closed]
- Insert Widget option into mark-up with register_sidebar
- Check which registered sidebar a widget is added to
- Excluding specific widgets from default sidebar class
- Can WordPress Read Its Own RSS Feed?
- different class (css) for sidebar widgets
- Can’t see widget areas in my customizer
- Dynamic sidebar based on category
- Widgets not activated alert after using get_sidebar()
- Show widget differently depending on if it’s in the sidebar or footer
- How can I assign widgets from WP to appear in bbpress?
- How can I get the first section of a page 100% width, while the rest will have a sidebar? [closed]
- Trying to create dynamic widget area using post ID
- How to create pagination for homepage with widgetized area?
- Dynamically add content to an existing widget area
- How can I inject html after the [x]th widget inside a Sidebar? [duplicate]
- Programmatically add widgets to sidebars
- Programmatically add widgets to sidebars
- Programmatically add widgets to sidebars
- Override WordPress Widget CSS Classes?
- Are widgets meant to be used outside of sidebars?
- Dynamic Sidebar and XHTML Validity?
- register_sidebar fails when using a include within functions.php
- Update widget form after drag-and-drop “only specific plugin”
- Recent Comments from Specific Category Widget
- Different sidebars not changing
- how to add the same Widget twice to a sidebar?
- Filter Text from sidebar widget?
- Different widgets in sidebar on sub-children pages?
- Display posts from category in post content?
- My widget not printing before_widgets and after widgets
- Is there a way to use get_sidebar() when no widgets are activated?
- Output column number according to active sidebars
- Check if widget is inside sidebar with PHP
- What conditional to use for dynamic sidebar check?
- Any available action to add content before and after sidebar?
- Distinguish between different widgets of the same type
- links to Media Library content in sidebar per page
- Why is registering a sidebar for each page causing my sidebars to reset?
- How to Catch Last Widget box From Same Widget Area?
- changing the style of sidebar
- How can I detemine the parameters needed by the_widget()?
- widgets in footer?
- WordPress Local to Live and The Missing Widgets!
- Need to delete the sidebar widget area and have the page a full page rather than just have a blank widget area
- How can I have sidebar widgets on Twenty Seventeen theme on all pages?
- Need two sidebar (right and left)in Twenty Seven theme
- Reposition the widget sidebar in Appearance->Widgets
- Hiding the widget meta box in the Appearance->Widget screen
- How to get sidebar widgets in leftsidebar template
- Add Social Media icon widget to customizer
- Loading scripts only if a particular shortcode or widget is present
- Handling dozens of sidebars
- three sidebars showing without call
- Add sidebar in inner pages
- Inkness theme sidebar
- How can I get the sidebar id on the current page?
- Automatically hide Widgets that would lengthen page
- user definable sidebar per page
- Tabbed navigation in widget backend
- Show or hide custom menu widget in side bar conditionally
- Custom tabs widget don’t work in google chrome, is blocked, do not change the tabs. Why?
- Single Widget Multi Sidebar
- Post Thumbnails on Sidebar Widgets
- How to hide sidebar widgets in all pages except Hompage?
- How to completely remove the sidebar? [closed]
- Subpages menu on sidebar plus widgets
- How to inject a virtual widget (i.e. without adding it to the database) to the sidebar
- How to tell if a dynamic sidebar is being displayed on page?
- Can’t edit the widgets sidebar or footer