Builds an object with all taxonomy labels out of a taxonomy object.
Parameters
$tax
WP_Taxonomyrequired- Taxonomy object.
Source
function get_taxonomy_labels( $tax ) {
$tax->labels = (array) $tax->labels;
if ( isset( $tax->helps ) && empty( $tax->labels['separate_items_with_commas'] ) ) {
$tax->labels['separate_items_with_commas'] = $tax->helps;
}
if ( isset( $tax->no_tagcloud ) && empty( $tax->labels['not_found'] ) ) {
$tax->labels['not_found'] = $tax->no_tagcloud;
}
$nohier_vs_hier_defaults = WP_Taxonomy::get_default_labels();
$nohier_vs_hier_defaults['menu_name'] = $nohier_vs_hier_defaults['name'];
$labels = _get_custom_object_labels( $tax, $nohier_vs_hier_defaults );
if ( ! isset( $tax->labels->template_name ) && isset( $labels->singular_name ) ) {
/* translators: %s: Taxonomy name. */
$labels->template_name = sprintf( _x( '%s Archives', 'taxonomy template name' ), $labels->singular_name );
}
$taxonomy = $tax->name;
$default_labels = clone $labels;
/**
* Filters the labels of a specific taxonomy.
*
* The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug.
*
* Possible hook names include:
*
* - `taxonomy_labels_category`
* - `taxonomy_labels_post_tag`
*
* @since 4.4.0
*
* @see get_taxonomy_labels() for the full list of taxonomy labels.
*
* @param object $labels Object with labels for the taxonomy as member variables.
*/
$labels = apply_filters( "taxonomy_labels_{$taxonomy}", $labels );
// Ensure that the filtered labels contain all required default values.
$labels = (object) array_merge( (array) $default_labels, (array) $labels );
return $labels;
}
Hooks
- apply_filters( “taxonomy_labels_{$taxonomy}”,
object $labels ) Filters the labels of a specific taxonomy.
Changelog
Version | Description |
---|---|
6.6.0 | Added the template_name label. |
5.9.0 | Added the name_field_description , slug_field_description , parent_field_description , and desc_field_description labels. |
5.8.0 | Added the item_link and item_link_description labels. |
5.7.0 | Added the filter_by_item label. |
4.9.0 | Added the most_used and back_to_items labels. |
4.4.0 | Added the items_list_navigation and items_list labels. |
4.3.0 | Added the no_terms label. |
3.0.0 | Introduced. |
The return object also includes a `menu_name` property (defaults to `name` property), which is used for the tab in the admin menu.