function hook_theme_suggestions_HOOK

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Render/theme.api.php \hook_theme_suggestions_HOOK()
  2. 10 core/lib/Drupal/Core/Render/theme.api.php \hook_theme_suggestions_HOOK()
  3. 11.x core/lib/Drupal/Core/Render/theme.api.php \hook_theme_suggestions_HOOK()

Provides alternate named suggestions for a specific theme hook.

This hook allows modules to provide alternative theme function or template name suggestions.

HOOK is the least-specific version of the hook being called. For example, if '#theme' => 'node__article' is called, then hook_theme_suggestions_node() will be invoked, not hook_theme_suggestions_node__article(). The specific hook called (in this case 'node__article') is available in $variables['theme_hook_original'].

Implementations of this hook must be placed in *.module or *.theme files, or must otherwise make sure that the hook implementation is available at any given time.

@todo Add @code sample.


array $variables: An array of variables passed to the theme hook. Note that this hook is invoked before any preprocessing.

Return value

array An array of theme suggestions.

See also


Related topics

39 functions implement hook_theme_suggestions_HOOK()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

bartik_theme_suggestions_form_alter in core/themes/bartik/bartik.theme
Implements hook_theme_suggestions_HOOK_alter() for form templates.
block_theme_suggestions_block in core/modules/block/block.module
Implements hook_theme_suggestions_HOOK().
claro_theme_suggestions_details_alter in core/themes/claro/claro.theme
Implements hook_theme_suggestions_HOOK_alter() for details.
claro_theme_suggestions_form_element_alter in core/themes/claro/claro.theme
Implements hook_theme_suggestions_HOOK_alter() for form_element.
forum_theme_suggestions_forums in core/modules/forum/forum.module
Implements hook_theme_suggestions_HOOK().

... See full list


core/lib/Drupal/Core/Render/theme.api.php, line 634


function hook_theme_suggestions_HOOK(array $variables) {
    $suggestions = [];
    $suggestions[] = 'hookname__' . $variables['elements']['#langcode'];
    return $suggestions;

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.