A WordPress-centric search engine for devs and theme authors



get_taxonomy_labels ›

Since3.0.0
Deprecatedn/a
get_taxonomy_labels ( $tax )
Parameters:
  • (WP_Taxonomy) $tax Taxonomy object.
    Required: Yes
Returns:
  • (object) { Taxonomy labels object. The first default value is for non-hierarchical taxonomies (like tags) and the second one is for hierarchical taxonomies (like categories).
Defined at:
Codex:
Change Log:
  • 4.3.0
  • 4.4.0
  • 4.9.0

Builds an object with all taxonomy labels out of a 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 = array(
		'name'                       => array( _x( 'Tags', 'taxonomy general name' ), _x( 'Categories', 'taxonomy general name' ) ),
		'singular_name'              => array( _x( 'Tag', 'taxonomy singular name' ), _x( 'Category', 'taxonomy singular name' ) ),
		'search_items'               => array( __( 'Search Tags' ), __( 'Search Categories' ) ),
		'popular_items'              => array( __( 'Popular Tags' ), null ),
		'all_items'                  => array( __( 'All Tags' ), __( 'All Categories' ) ),
		'parent_item'                => array( null, __( 'Parent Category' ) ),
		'parent_item_colon'          => array( null, __( 'Parent Category:' ) ),
		'edit_item'                  => array( __( 'Edit Tag' ), __( 'Edit Category' ) ),
		'view_item'                  => array( __( 'View Tag' ), __( 'View Category' ) ),
		'update_item'                => array( __( 'Update Tag' ), __( 'Update Category' ) ),
		'add_new_item'               => array( __( 'Add New Tag' ), __( 'Add New Category' ) ),
		'new_item_name'              => array( __( 'New Tag Name' ), __( 'New Category Name' ) ),
		'separate_items_with_commas' => array( __( 'Separate tags with commas' ), null ),
		'add_or_remove_items'        => array( __( 'Add or remove tags' ), null ),
		'choose_from_most_used'      => array( __( 'Choose from the most used tags' ), null ),
		'not_found'                  => array( __( 'No tags found.' ), __( 'No categories found.' ) ),
		'no_terms'                   => array( __( 'No tags' ), __( 'No categories' ) ),
		'items_list_navigation'      => array( __( 'Tags list navigation' ), __( 'Categories list navigation' ) ),
		'items_list'                 => array( __( 'Tags list' ), __( 'Categories list' ) ),
		/* translators: Tab heading when selecting from the most used terms */
		'most_used'                  => array( _x( 'Most Used', 'tags' ), _x( 'Most Used', 'categories' ) ),
		'back_to_items'              => array( __( '← Back to Tags' ), __( '← Back to Categories' ) ),
	);
	$nohier_vs_hier_defaults['menu_name'] = $nohier_vs_hier_defaults['name'];

	$labels = _get_custom_object_labels( $tax, $nohier_vs_hier_defaults );

	$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.
	 *
	 * @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;
}