Opened 12 years ago
Last modified 6 years ago
#23207 reopened enhancement
Add $labels argument to register_post_status()
Reported by: | ramiy | Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 3.0 |
Component: | Posts, Post Types | Keywords: | has-patch dev-feedback needs-refresh |
Focuses: | Cc: |
Description (last modified by )
WordPress functions register_taxonomy() and register_post_type() has labels argument. Why not add labels to register_post_status()?
The current way to add status:
$args = array( 'label' => __( 'draft', 'text_domain' ), 'label_count' => _n_noop( 'Draft (%s)', 'Drafts (%s)', 'text_domain' ), 'public' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, 'exclude_from_search' => true, ); register_post_status( 'draft', $args );
The new way (using labels):
$labels = array( 'name' => __( 'Draft', 'text_domain' ), 'singular_count' => __( 'Draft (%s)', 'text_domain' ), 'plural_count' => __( 'Drafts (%s)', 'text_domain' ), 'any_other_label' => __( 'Any Other Label', 'text_domain' ) ); $args = array( 'labels' => $labels, 'public' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, 'exclude_from_search' => true, ); register_post_status( 'draft', $args );
Attachments (1)
Change History (14)
#2
@
12 years ago
- Description modified (diff)
- Summary changed from Add $labes argument to register_post_status() to Add $labels argument to register_post_status()
#4
follow-up:
↓ 5
@
12 years ago
Just a note that singular_count
and plural_count
will probably not work that way, because many languages have more than one plural form, and in order to know which form is used, it has to be given a number. That's why _n_noop
is used in the first place, which maintains the structure and is then translated with translate_nooped_plural
. I think :)
#5
in reply to:
↑ 4
@
12 years ago
Replying to kovshenin:
That's why
_n_noop
is used in the first place, which maintains the structure and is then translated withtranslate_nooped_plural
. I think :)
Correct.
#6
@
12 years ago
Good point.
But the goal is not this string or that string, the goal is to create a standard way to add translation strings to register_{taxonomy|post_type|post_status}() functions.
The new code with _n_noop():
$labels = array( 'name' => __( 'Draft', 'text_domain' ), 'count' => _n_noop( 'Draft (%s)', 'Drafts (%s)', 'text_domain' ), 'any_other_label' => __( 'Any Other Label', 'text_domain' ) ); $args = array( 'labels' => $labels, 'public' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, 'exclude_from_search' => true, ); register_post_status( 'draft', $args );
#8
in reply to:
↑ 7
@
12 years ago
- Cc maorhaz@… added
Replying to kovshenin:
Did you mean to set the version to 3.6? (:
#9
@
10 years ago
- Keywords has-patch dev-feedback added; needs-patch removed
Here's a patch for the above. The diff adds an optional $labels parameter to
register_post_status()
$labels is an associative array which expects the keys 'name' and 'count' which (if present) will be used in place of the 'label' and 'label_count' arguments respectively.
Related #12706