Field theme hook suggestion based on the entity string
/** * Implements hook_theme_suggestions_HOOK_alter(). * Used to add a generic field twig template without any * wrapping divs to have more * control over styles. * * @see: https://www.previousnext.com.au/blog/bare-templates-removing-unnecessary-markup-twig-files */functiondev_patterns_theme_suggestions_field_alter(&$hooks, $vars) {// Get the element names passed on when a page is rendered. $name = $vars['element']['#field_name'];// Define the field element. $element = $vars['element'];// Build the string layout for the fields,// these fields will use the no-markup twig template.// <entity type>:<bundle name>:<view mode>:<field name>. $bare_hooks = ['block_content:picture_button:rectangular:field_button_link','block_content:picture_button:rectangular:field_picture_button_image','block_content:callout:full:body','media:event_cta_image:tile:thumbnail','paragraph:links_downloads:default:field_links_downloads','paragraph:slider:default:field_slides','paragraph:slider:slide:field_slides', ];// Build the actual var structure from second parameter. $hook =implode(':', [ $vars['element']['#entity_type'], $vars['element']['#bundle'], $vars['element']['#view_mode'], $vars['element']['#field_name'], ]);// Check if the strings match and assign the bare template.if (in_array($hook, $bare_hooks,TRUE)) { $hooks[] ='field__no_markup'; }}