Generic way to get a Entity's bundle label

A helper function to get the entity's( Taxonomy Term, Node, ...) bundle label if available

use Drupal\Core\Entity\ContentEntityInterface;

/**
 * Helper function to get the Entity's bundle label if available.
 *
 * @param \Drupal\Core\Entity\ContentEntityInterface $entity
 *   The Entity object.
 *
 * @return string|null
 *   The Entity's bundle or NULL if not available.
 */
function getEntityBundleLabel(ContentEntityInterface $entity) {

  try {
    $bundleTypeId = $entity->getEntityType()->getBundleEntityType();
    $bundleLabel = \Drupal::entityTypeManager()
      ->getStorage($bundleTypeId)
      ->load($entity->bundle())
      ->label();
    return $bundleLabel;
  }
  catch (\Exception $e) {
    watchdog_exception('entity_bundle_label_get', $e);
  }

}

 

********************************** ************************* ************************ **************** ****************** *********** ************** ************* ************ *************

Sign up for my newsletter

I send out an email every so often about cool stuff I'm working on and things I've learned.

Thank you!