Creates a dropdown list of non-hierarchical taxonomies as an alternative to the term (tag) cloud. Formerly known as Tag Dropdown Widget.
Creates dropdown lists of non-hierarchical taxonomies (such as post tags) as an alternative to term (tag) clouds. Multiple widgets can be used, each with its own set of options.
Numerous formatting options are provided, including maximum numbers of terms, term order, truncating of term names, and more.
Using the taxonomy_dropdown_widget() function, users can generate dropdowns for use outside of the included widget.
Only use version 2.2 or higher with WordPress 4.2 and later releases. WordPress 4.2 changed how taxonomy information is stored in the database, which directly impacts this plugin’s include/exclude term functionality.
This plugin was formerly known as the Tag Dropdown Widget. It was completely rewritten for version 2.0.
Follow and contribute to development on GitHub at https://github.com/ethitter/Taxonomy-Dropdown-Widget.
FAQ
What happened to the Tag Dropdown Widget plugin?
Since I first released this plugin in November 2009, WordPress introduced custom taxonomies and, as more-fully discussed below, saw a new widgets API overtake its predecessor. As part of the widgets-API-related rewrite, I expanded the plugin to support non-hierarchical custom taxonomies, which necessitated a new name for the plugin.
Why did you rewrite the plugin?
When I first wrote the Tag Dropdown Widget plugin (and it’s sister Tag List Widget), WordPress was amidst a change in how widgets were managed. I decided to utilize the old widget methods to ensure the greatest compatibility at the time. In the nearly two years since I released version 1.0, the new widget system has been widely adopted, putting this plugin at a disadvantage. So, I rewrote the plugin to use the new widget API and added support for non-hierarchical taxonomies other than just post tags.
I upgraded to version 2.0 and all of my widgets disappeared. What happened?
As discussed above, WordPress’ widget system has changed drastically since I first released this plugin. To facilitate multiple uses of the same widget while allowing each to maintain its own set of options, the manner for storing widget options changed. As a result, there is no practical way to transition a widget’s options from version 1.7 to 2.0.
ChangeLog
2.3.3
- Correct hook used to load plugin textdomain.
2.3.2
- Ready plugin for translation.
2.3.1
2.3
- Update for WordPress 4.3 by removing PHP4-style widget constructor usage (https://make.wordpress.org/core/2015/07/02/deprecating-php4-style-constructors-in-wordpress-4-3/).
2.2
- Update for WordPress 4.2 to handle term splitting in the plugin’s include/exclude functionality. Details at https://make.wordpress.org/core/2015/02/16/taxonomy-term-splitting-in-4-2-a-developer-guide/.
2.1
- Introduce filters on dropdown and its components for greater customizability.
- Implement plugin as a singleton for proper reusability.
- Improve adherence to WordPress coding standards.
- Improve translatability of plugin.
- Generally clean up code for better readability and clarity.
- Eliminates all uses of
extract() for clarity’s sake.
2.0.3
- Correct problem in WordPress 3.3 and higher that resulted in an empty taxonomy dropdown.
- Remove all uses of PHP short tags.
2.0.2
- Allow empty title in widget options. If empty, the
taxonomy_dropdown_widget_title filter isn’t run.
2.0.1
- Fix fatal error in older WordPress versions resulting from PHP4 and PHP5 constructors existing in widget class.
2.0.0.2
- Fix bug in post count threshold that resulted in no terms being listed.
2.0.0.1
- Fix bug that appended cutoff indicators when unnecessary.
2.0
- Completely rewritten plugin to use WordPress’ newer Widgets API.
- Drop support for WordPress 2.7 and earlier.
- Add support for all public, non-hierarchical custom taxonomies, in addition to Post Tags.
- Introduce new, more flexible function for manually generating dropdown menus.
- Introduce options requested by the community, such as control over the default dropdown item.
- Fixed persistent bugs in the include/exclude functionality.
- Widget admin is translation-ready.
1.7
- Replaced
TDW_direct() and makeTagDropdown() with generateTagDropdown().
- Recoded entire plugin to simplify and clean up overall functionality.
- Switched exclude functionality to use tag ids rather than tag slugs.
- Added numerous additional options to the widget panel based on user response, as detailed below.
- Added the ability to specify the indicator shown when a tag name is trimmed.
- Added the ability to limit the number of tags shown.
- Added the ability to specify the minimum number of posts a given tag must be associated with before it will show in the dropdown.
- Added options for specifying the order tags are displayed in.
- Added the ability to specify a list of tags to include in the dropdown, expanding on the existing ability to exclude certain tags.
- Added the option to display tags which aren’t associated with any posts.
- Added the
TagDropdown_get_tags filter to provide advanced users the ability to modify the arguments passed to WordPress’ get_tags function. Using this filter, the trimming, trimming indicator, and count display settings are still obeyed.
1.6
- Add
TDW_direct() function.
- Add count and exclusion options to new direct-implementation function (
TDW_direct()).
- Corrects two XHTML validation errors.
1.5.2
- Unloads tag exclusion list upon deactivation.
1.5.1
- Moved plugin pages to ethitter.com.
1.5
- Added option to display number of posts within each tag.
1.4
- Added option to exclude tags based on comma-separated list of slugs.
1.3
- Rewrote certain widget elements for compatibility back to version 2.3.
1.2
- Added function to remove plugin settings when deactivated.
1.1
- Added the ability to trim tag names when calling the function directly.