Opened 11 months ago
Last modified 3 weeks ago
#21165 new enhancement
Make categories widget work with custom taxonomies
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | Future Release |
| Component: | Widgets | Version: | |
| Severity: | normal | Keywords: | has-patch |
| Cc: | fonglh, code@… |
Description
The tag cloud widget already has a taxonomy dropdown.
We should add one for the categories widget as well.
Attachments (5)
Change History (24)
Hey fonglh, thanks for the patch. There are two issues with it, though:
- The $tax->show_tagcloud check is not appropriate. I think we could use $tax->is_hierarchical instead.
- Some translations need to change the order of the words, so appending strings doesn't work well for them:
__('Select ') . get_taxonomy( $current_taxonomy )->labels->singular_name;
I guess we'll have to introduce a new 'select' label to register_taxonomy(), so that we can do this:
get_taxonomy( $current_taxonomy )->labels->select;
Oh, and duck_ pointed out that _get_current_taxonomy() should default to 'category' not 'categories'.
Hey scribu, thanks for the feedback. I've fixed the issues you mentioned.
For the second one, I've introduced a new label 'select_name' with a default value of 'Select Taxonomy'.
Replying to scribu:
I guess we'll have to introduce a new 'select' label to register_taxonomy(), so that we can do this:
get_taxonomy( $current_taxonomy )->labels->select;
Why not do
<?php sprintf( _x( 'Select %s', 'taxonomy singular name' ), get_taxonomy( $current_taxonomy )->labels->singular_name );
On a different note:
This is the Category Widget we're talking about - not the Taxonomy Widget. It would make more sense, if we'd make a separate widget for it. And with it being a separate Widget, it'd be debatable whether this is better released as a Plugin...
comment:7
in reply to:
↑ 5
SergeyBiryukov — 11 months ago
Replying to kobenland:
<?php sprintf( _x( 'Select %s', 'taxonomy singular name' ), get_taxonomy( $current_taxonomy )->labels->singular_name );
A simple sprintf() is not enough due to different grammatical cases, see ticket:19099:1 or ticket:17609:3.
Replying to fonglh:
For the second one, I've introduced a new label 'select_name' with a default value of 'Select Taxonomy'.
'Select Taxonomy' isn't correct, because the dropdown won't contain taxonomies, but terms. So, a more accurate default would be 'Select Term'.
But, since the other default labels use 'Category' instead of 'Term, I think we should stick to 'Select Category'.
Changed default value of 'select_name' label from 'Select Taxonomy' to 'Select Category'
- Cc fonglh added
Replying to kobenland:
On a different note:
This is the Category Widget we're talking about - not the Taxonomy Widget. It would make more sense, if we'd make a separate widget for it. And with it being a separate Widget, it'd be debatable whether this is better released as a Plugin...
Since categories are treated as a type of taxonomy, maybe it'll be better to rename the widget the Taxonomy Widget instead? I don't think there's a need for 2 widgets.
comment:10
scribu — 11 months ago
Conversely, to the average user, a hierarchical taxonomy is just another set of categories. We should keep the "Categories" name for the widget.
comment:11
fonglh — 11 months ago
Ok then, is there anything else that has to be improved?
comment:12
scribu — 11 months ago
The description confuses terms and taxonomies again:
"A list or dropdown of categories or custom taxonomies"
Correct would be:
"A list or dropdown of categories or of custom taxonomy terms"
although I'm not sure it's necessary. The tag cloud widget doesn't mention custom taxonomies either.
comment:13
fonglh — 11 months ago
I decided to leave the wording as it currently is:
"A list or dropdown of categories"
The correct version seems to be a bit of a mouthful, although it's a more accurate description.
comment:14
scribu — 11 months ago
- Milestone changed from Awaiting Review to 3.5
Ok, just one more thing: These lines are not necessary anymore:
46 'labels' => array( 47 'select_name' => __( 'Select Category' ) 48 ),
Removed value of 'select_name' for category as it is the same as the default value
comment:15
fonglh — 11 months ago
Ok, I've removed them from the function call of register_taxonomy() when 'category' is registered.
comment:16
nacin — 8 months ago
I don't mind this, but I wish we could get away without a new taxonomy label for it.
comment:17
scribu — 8 months ago
Maybe we could get away with an empty 'show_option_none'.
comment:18
nacin — 7 months ago
- Milestone changed from 3.5 to Future Release
comment:19
tar.gz — 3 weeks ago
- Cc code@… added

First draft. Replicated taxonomy dropdown of the tag cloud widget to the categories widget.